gtk# TreeView小部件中的capture选项卡
本文关键字:capture 选项 TreeView 小部 gtk# | 更新日期: 2023-09-27 18:06:53
我已经创建了一个TreeView,它实际上可以被称为TableStringView:有各种各样的单元格可以输入文本。
我想通过按TAB键从一个单元格转到另一个单元格,而不是按ENTER键然后在另一个单元格中单击,就好像它是一个电子表格。
然而,当我向TreeView添加一个键监听器时,它失败了。TAB自然是用来在小部件之间切换的,所以它在TreeView有机会做任何事情之前就被捕获了。所以我正在寻找类似于Windows成员AcceptsTab:
的东西tvTable.AcceptsTab = true;
或者Gtk。CellRendererText将用于每一列:
var cell = new Gtk.CellRendererText();
cell.AcceptsTab = true;
//...
column.PackStart( cell, true );
tvTable.AppendColumn( column );
不幸的是,似乎不存在这样的成员。为了在TreeView中捕获TAB,我能做些什么?
您是否尝试过使用Glib。ConnectBefore属性在按键处理程序?
/* ... */
cell.KeyPressEvent += onCellKeyPress;
[GLib.ConnectBefore]
void onCellKeyPress(object sender, EventArgs e)
{
/* ... */
}