트리 뷰 위에 텍스트 상자를 표시하고 그 위에 최대 길이를 설정할 수 있습니다. 트리보기는 텍스트 상자의 최대 길이를 설정 BeforeLabelEdit에 그런
private TextBox _TextBox;
public Form1()
{
InitializeComponent();
_TextBox = new TextBox();
_TextBox.Visible = false;
_TextBox.LostFocus += new EventHandler(_TextBox_LostFocus);
_TextBox.Validating += new CancelEventHandler(_TextBox_Validating);
this.Controls.Add(_TextBox);
}
private void _TextBox_LostFocus(object sender, EventArgs e)
{
_TextBox.Visible = false;
}
private void _TextBox_Validating(object sender, CancelEventArgs e)
{
treeView1.SelectedNode.Text = _TextBox.Text;
}
현재 선택된 노드에 그것을 보여줍니다 :
그 작업을 수행하는
한 가지 방법은 양식 텍스트 상자를 만드는 것입니다
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();
}
텍스트 상자에 추가 기능을 추가하여 트리보기의 너비를 기반으로 올바르게 크기를 지정하고 사용자가 돌아 오는 등의 새로운 텍스트를 받아들이도록 할 수 있습니다.