TreeView.BeforeLabelEdit 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
트리 노드 레이블 텍스트를 편집하기 전에 발생합니다.
public:
event System::Windows::Forms::NodeLabelEditEventHandler ^ BeforeLabelEdit;
public event System.Windows.Forms.NodeLabelEditEventHandler BeforeLabelEdit;
public event System.Windows.Forms.NodeLabelEditEventHandler? BeforeLabelEdit;
member this.BeforeLabelEdit : System.Windows.Forms.NodeLabelEditEventHandler
Public Custom Event BeforeLabelEdit As NodeLabelEditEventHandler
이벤트 유형
예제
다음 코드 예제에서는 멤버 및 BeforeLabelEdit 멤버를 AfterSelectTopNode 사용하는 방법을 보여 줍니다. 이 예제를 실행하려면 이름이 지정된 TreeView컨트롤이 포함된 TreeView1 폼에 다음 코드를 붙여넣습니다. 폼의 InitializeTreeView 생성자 또는 Load 메서드에서 메서드를 호출합니다.
private:
void InitializeTreeView()
{
// Construct the TreeView object.
this->TreeView1 = gcnew System::Windows::Forms::TreeView;
// Set dock, location, size name, and tab order
// values for the TreeView object.
TreeView1->Dock = System::Windows::Forms::DockStyle::Left;
TreeView1->Location = System::Drawing::Point( 0, 0 );
TreeView1->Name = "TreeView1";
TreeView1->Size = System::Drawing::Size( 152, 266 );
TreeView1->TabIndex = 1;
// Associate the event-handling methods with the
// BeforeLabeEdit and the AfterSelect events.
TreeView1->BeforeLabelEdit += gcnew NodeLabelEditEventHandler( this, &Form1::TreeView1_BeforeLabelEdit );
TreeView1->AfterSelect += gcnew TreeViewEventHandler( this, &Form1::TreeView1_AfterSelect );
// Set the LabelEdit property to true to allow the
// user to edit the TreeNode text.
this->TreeView1->LabelEdit = true;
// Declare and create objects needed to populate
// the TreeView.
array<String^>^files = {"bigPresentation.ppt","myFinances.xls","myResume.doc"};
;
String^ filePath = "c:\\myFiles";
System::Collections::ArrayList^ nodes = gcnew System::Collections::ArrayList;
// Create a node for each file, setting the Text property to the
// file's name and the Tag property to file's fully-qualified name.
System::Collections::IEnumerator^ myEnum = files->GetEnumerator();
while ( myEnum->MoveNext() )
{
String^ file = safe_cast<String^>(myEnum->Current);
TreeNode^ node = gcnew TreeNode( file );
node->Tag = String::Concat( filePath, "\\", file );
nodes->Add( node );
}
array<TreeNode^>^treeNodes = gcnew array<TreeNode^>(nodes->Count);
nodes->CopyTo( treeNodes );
// Create a new node named topNode and add the ArrayList of
// nodes to topNode.
TreeNode^ topNode = gcnew TreeNode( "myFiles",treeNodes );
topNode->Tag = filePath;
// Add topNode to the TreeView.
TreeView1->Nodes->Add( topNode );
// Add the TreeView to the form.
this->Controls->Add( TreeView1 );
}
void TreeView1_BeforeLabelEdit( Object^ /*sender*/, NodeLabelEditEventArgs^ e )
{
// Determine whether the user has selected the top node. If so,
// change the CancelEdit property to true to cancel the edit.
if ( e->Node == TreeView1->TopNode )
{
e->CancelEdit = true;
MessageBox::Show( "You are not allowed to edit the top node" );
}
}
private void InitializeTreeView()
{
// Construct the TreeView object.
this.TreeView1 = new System.Windows.Forms.TreeView();
// Set dock, location, size name, and tab order
// values for the TreeView object.
TreeView1.Dock = System.Windows.Forms.DockStyle.Left;
TreeView1.Location = new System.Drawing.Point(0, 0);
TreeView1.Name = "TreeView1";
TreeView1.Size = new System.Drawing.Size(152, 266);
TreeView1.TabIndex = 1;
// Associate the event-handling methods with the
// BeforeLabeEdit and the AfterSelect events.
TreeView1.BeforeLabelEdit +=
new NodeLabelEditEventHandler(TreeView1_BeforeLabelEdit);
TreeView1.AfterSelect +=
new TreeViewEventHandler(TreeView1_AfterSelect);
// Set the LabelEdit property to true to allow the
// user to edit the TreeNode text.
this.TreeView1.LabelEdit = true;
// Declare and create objects needed to populate
// the TreeView.
string[] files = new string[]{"bigPresentation.ppt",
"myFinances.xls", "myResume.doc"};;
string filePath = "c:\\myFiles";
System.Collections.ArrayList nodes =
new System.Collections.ArrayList();
// Create a node for each file, setting the Text property to the
// file's name and the Tag property to file's fully-qualified name.
foreach ( string file in files )
{
TreeNode node = new TreeNode(file);
node.Tag = filePath+"\\"+file;
nodes.Add(node);
}
TreeNode[] treeNodes = new TreeNode[nodes.Count];
nodes.CopyTo(treeNodes);
// Create a new node named topNode and add the ArrayList of
// nodes to topNode.
TreeNode topNode = new TreeNode("myFiles", treeNodes);
topNode.Tag = filePath;
// Add topNode to the TreeView.
TreeView1.Nodes.Add(topNode);
// Add the TreeView to the form.
this.Controls.Add(TreeView1);
}
private void TreeView1_BeforeLabelEdit(object sender,
NodeLabelEditEventArgs e)
{
// Determine whether the user has selected the top node. If so,
// change the CancelEdit property to true to cancel the edit.
if (e.Node == TreeView1.TopNode)
{
e.CancelEdit = true;
MessageBox.Show("You are not allowed to edit the top node");
}
}
Private Sub InitializeTreeView()
' Construct the TreeView object.
Me.TreeView1 = New System.Windows.Forms.TreeView
' Set dock, location, size name, and tab order
' values for the TreeView object.
With TreeView1
.Dock = System.Windows.Forms.DockStyle.Left
.Location = New System.Drawing.Point(0, 0)
.Name = "TreeView1"
.Size = New System.Drawing.Size(152, 266)
.TabIndex = 1
End With
' Set the LabelEdit property to true to allow the
' user to edit the TreeNode text.
Me.TreeView1.LabelEdit = True
' Declare and create objects needed to populate
' the TreeView.
Dim file, files(), filePath As String
files = New String() {"bigPresentation.ppt", "myFinances.xls", _
"myResume.doc"}
filePath = "c:\myFiles"
Dim nodes As New System.Collections.ArrayList
' Create a node for each file, setting the Text property to the
' file's name and the Tag property to file's fully-qualified name.
For Each file In files
Dim node As New TreeNode(file)
node.Tag = filePath & "\" & file
nodes.Add(node)
Next
' Create a new node named topNode and add the ArrayList of
' nodes to topNode.
Dim topNode As New TreeNode("myFiles", _
nodes.ToArray(GetType(TreeNode)))
topNode.Tag = filePath
' Add topNode to the TreeView.
TreeView1.Nodes.Add(topNode)
' Add the TreeView to the form.
Me.Controls.Add(TreeView1)
End Sub
Private Sub TreeView1_BeforeLabelEdit(ByVal sender As Object, _
ByVal e As NodeLabelEditEventArgs) Handles TreeView1.BeforeLabelEdit
' Determine whether the user has selected the top node. If so,
' change the CancelEdit property to true to cancel the edit.
If (e.Node Is TreeView1.TopNode) Then
e.CancelEdit = True
MessageBox.Show("You are not allowed to edit the top node")
End If
End Sub
private:
// Handle the After_Select event.
void TreeView1_AfterSelect( System::Object^ /*sender*/, System::Windows::Forms::TreeViewEventArgs^ e )
{
// Vary the response depending on which TreeViewAction
// triggered the event.
switch ( (e->Action) )
{
case TreeViewAction::ByKeyboard:
MessageBox::Show( "You like the keyboard!" );
break;
case TreeViewAction::ByMouse:
MessageBox::Show( "You like the mouse!" );
break;
}
}
// Handle the After_Select event.
private void TreeView1_AfterSelect(System.Object sender,
System.Windows.Forms.TreeViewEventArgs e)
{
// Vary the response depending on which TreeViewAction
// triggered the event.
switch((e.Action))
{
case TreeViewAction.ByKeyboard:
MessageBox.Show("You like the keyboard!");
break;
case TreeViewAction.ByMouse:
MessageBox.Show("You like the mouse!");
break;
}
}
' Handle the After_Select event.
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.TreeViewEventArgs) _
Handles TreeView1.AfterSelect
' Vary the response depending on which TreeViewAction
' triggered the event.
Select Case (e.Action)
Case TreeViewAction.ByKeyboard
MessageBox.Show("You like the keyboard!")
Case TreeViewAction.ByMouse
MessageBox.Show("You like the mouse!")
End Select
End Sub
설명
이벤트를 처리하는 방법에 대한 자세한 내용은 이벤트 처리 및 발생을 참조하세요.