2009-08-19 185 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(); 
    } 

您可能需要在文本框中添加一些附加功能,以便根據樹視圖的寬度正確調整大小,並且還可以接受用戶點擊返回時的新文本等。

相關問題