2009-08-19 81 views
0

如何设置TreeNode名称和文本属性的MaxLength?这是一个Windows窗体应用程序,用户右键单击一个树视图以添加节点,treenode名称的最大长度应为40个字符。目前,我在AfterlabelEdit事件中检查了这一点,如果不是,则会抛出一条消息。的字符超过。但是requiremnet说,为了限制长度而不显示消息框,就像我们在文本框中做的那样。如何设置TreeNode名称和文本属性的MaxLength?

谢谢。

回答

0

你可以在树形视图上显示一个文本框并在其上设置MaxLength。要做到这一点

一种方法是创建一个表单文本框:

​​

然后在树视图BeforeLabelEdit设置文本框的MaxLength并显示在当前选定的节点:

private void treeView1_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e) 
    { 
     _TextBox.MaxLength = 10; 

     e.CancelEdit = true; 
     TreeNode selectedNode = treeView1.SelectedNode; 
     _TextBox.Visible = true; 
     _TextBox.Text = selectedNode.Text; 
     _TextBox.SelectAll(); 
     _TextBox.BringToFront(); 
     _TextBox.Left = treeView1.Left + selectedNode.Bounds.Left; 
     _TextBox.Top = treeView1.Top + selectedNode.Bounds.Top; 
     _TextBox.Focus(); 
    } 

您可能需要在文本框中添加一些附加功能,以便根据树视图的宽度正确调整大小,并且还可以接受用户点击返回时的新文本等。

相关问题