首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

树型控件的使用和技巧?该怎么处理

2012-02-19 
树型控件的使用和技巧?如果愿意,请在这里写一些你的使用经验,以共大家学习学习,谢谢了![解决办法]sf,gz[解

树型控件的使用和技巧?
如果愿意,请在这里写一些你的使用经验,以共大家学习学习,谢谢了!

[解决办法]
sf,gz
[解决办法]
//使用鼠标右键选中节点
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Button == MouseButtons.Right)
((TreeView)sender).SelectedNode = e.Node;
}

单击编辑节点
//Node有BeginEdit()方法可以激活编辑状态
//但在NodeMouseClick事件里处理会无效
//估计是消息没有处理完毕
//利用时间器跳出消息处理的堆栈实现

private void timer1_Tick(object sender, EventArgs e)
{
((Timer)sender).Enabled = false;
if (treeView1.SelectedNode != null)
treeView1.SelectedNode.BeginEdit();
}

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
timer1.Interval = 10;
timer1.Enabled = true;
}

[解决办法]
2003中的TreeNode比2005中的功能差了很多,我的做法是自己写一个NewTreeNode类,继承自TreeNode类,这样就可以在使用中自己定义NewTreeNode的功能了,还保留了原来的功能,例如:
public class NewTreeNode : TreeNode
{
private string textTip;
public string TextTip{ get {return textTip ;} set { textTip = value;} }
public NewTreeNode( string text ) : base()
{ this.textTip = text }
}

这样在2003中的使用NewTreeNode类也可以带有2005中的提示功能了。只是在使用时要强行转换一下而已

热点排行