Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Gtk.TreeView中捕获点击?_C#_Gtk_Gtk#_Gtktreeview - Fatal编程技术网

C# 如何在Gtk.TreeView中捕获点击?

C# 如何在Gtk.TreeView中捕获点击?,c#,gtk,gtk#,gtktreeview,C#,Gtk,Gtk#,Gtktreeview,我正在尝试捕获树视图空白区域中的双击事件,以创建新节点。不幸的是,标准方法不起作用。我已经尝试将ButtonPressEvent连接到TreeView和T.V.所在的滚动窗口。我没有收到任何对我的函数的回调 我该如何解决这个问题呢?我认为Treeview有自己的窗口 获取窗口句柄,然后发送消息(treeview->Getsafehwnd(),tvi_root,tvichildren) 上述发送消息仅供您理解。您需要在处理程序上使用GLib.connectbefore属性来处理TreeView.B

我正在尝试捕获树视图空白区域中的双击事件,以创建新节点。不幸的是,标准方法不起作用。我已经尝试将ButtonPressEvent连接到TreeView和T.V.所在的滚动窗口。我没有收到任何对我的函数的回调


我该如何解决这个问题呢?

我认为Treeview有自己的窗口

获取窗口句柄,然后发送消息(treeview->Getsafehwnd(),tvi_root,tvichildren)


上述发送消息仅供您理解。

您需要在处理程序上使用GLib.connectbefore属性来处理TreeView.ButtonPressEvent,否则小部件将在内部处理事件,并且不会调用您的处理程序

例如:

[GLib.ConnectBefore]
void OnTreeViewButtonPressEvent(object sender, ButtonPressEventArgs e)
{
    if (e.Type == Gdk.EventType.TwoButtonPress)
    {
        // double click
    }
}    


不确定您在谈论哪个工具包,但它似乎不是Gtk;)不,这不是GTK,它是Windows编程。我相信GTK也会有类似的东西。工具包是围绕基础知识的包装,。我相信。
self.treeview.connect("button-press-event",self.cell_clicked)

def cell_clicked(self, widget, event):
     if event.button == 1 and event.type == gtk.gdk.BUTTON_PRESS:
        print "Double clicked on cell"