Ale*_*lig 4 c# treeview winforms
TreeView在我的应用程序中有一个事件C#,我需要winformSelectedNodeChanged中的一个事件,就像WebControls中的事件一样
我已经阅读了这个问题及其关于使用Control.MouseUp和TreeView.AfterSelect事件的答案,但这不是正确的做法(例如该问题中提到的一个OP)
Control.MouseUp?他们一定是在开玩笑。如果使用按键而不是鼠标来导航树会怎样?
我尝试创建自己的事件TreeView,但我真的不知道如何创建一个真实的事件SelectedNodeChanged。
public partial class MyTreeView : TreeView
{
public MyTreeView()
{
InitializeComponent();
}
//How to add event here?
}
Run Code Online (Sandbox Code Playgroud)
尝试一下,您就可以使用该SelectedNodeChanged事件
public partial class MyTreeView : TreeView
{
public event TreeViewEventHandler SelectedNodeChanged;
public MyTreeView()
{
this.AfterSelect += new TreeViewEventHandler(SelectNodeChangedEvent);
this.MouseUp += new MouseEventHandler(MouseUpEvent);
}
void SelectNodeChangedEvent(object sender, TreeViewEventArgs e)
{
SelectedNodeChangedTrigger(sender, e);
}
void MouseUpEvent(object sender, MouseEventArgs e)
{
if (this.SelectedNode == null)
SelectedNodeChangedTrigger(sender, new TreeViewEventArgs(null));
}
void SelectedNodeChangedTrigger(object sender, TreeViewEventArgs e)
{
if (SelectedNodeChanged != null)
SelectedNodeChanged(sender, e);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1023 次 |
| 最近记录: |