日期:2014-05-20  浏览次数:20734 次

选择treeview节点问题?
treeview的labeledit已经设置为true,
现在我的问题,当我点击一个节点,该节点被选择,同时的它的text处于可编辑的状态.
不知道能不能实现?????

------解决方案--------------------
这样不可以,道理很简单,对任何控件,包括textbox,(选中的话)第一次都是处于选中状态,需要第二次才处于编辑状态,再说,你多做一次点击,也很正常 啊,用户也自然接受,为什么非要钻技术的牛角尖呢???
------解决方案--------------------
//Node有BeginEdit可以激活编辑状态
//但如果在NodeMouseClick事件里处理会无效
//估计是消息没有处理完毕
//利用时间器跳出消息处理的堆栈实现

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

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

------解决方案--------------------
lz说得也有道理,我简化一下zswang(伴水清清)(专家门诊清洁工)的代码:
private void button1_Click(object sender, EventArgs e)
{
treeView1.SelectedNode = treeView1.Nodes[2];//这里你自己处理你选择的节点

if (treeView1.SelectedNode != null)
treeView1.SelectedNode.BeginEdit();
}