星期一, 12月 17, 2007

[.Net]Gtk.TreeView(3)

在 Linux 裡面,所謂的"事件",多半是用 Signal 來表示,所以你看到 Signal 時,可以概略地當作"事件"來看。
而這些事件跟 Windows Form 的事件命名法差異相當大。
以下這些是比較常用到的:

protected virtual void OnTreeview1RowActivated (object o, Gtk.RowActivatedArgs args)
{
// double click
Console.WriteLine( String.Format("[{0}]: {1}", o.GetType().ToString(), "row activated") );
}

protected virtual void OnTreeview1RowCollapsed (object o, Gtk.RowCollapsedArgs args)
{
// collapse
Console.WriteLine( String.Format("[{0}]: {1}", o.GetType().ToString(), "row collapsed") );
}

protected virtual void OnTreeview1RowExpanded (object o, Gtk.RowExpandedArgs args)
{
// expand
Console.WriteLine( String.Format("[{0}]: {1}", o.GetType().ToString(), "row expanded") );
}

protected virtual void OnTreeview1CursorChanged (object sender, System.EventArgs e)
{
// click
Console.WriteLine( String.Format("[{0}]: {1}", sender.GetType().ToString(), "Cursor changed") );
}


我是怎麼查到的呢?
坦白說,我是用笨方法,看到那些 Console.WriteLine 了沒?
我先試著在可能的事件裡面放置這些 Console.WriteLine,接著執行程式,試著去 Click、Expand,然後看 Console 輸出就知道了...

沒有留言: