NodeLabelEditEventArgs 类

定义

提供有关 BeforeLabelEditAfterLabelEdit 事件的数据。

C#
public class NodeLabelEditEventArgs : EventArgs
继承
NodeLabelEditEventArgs

示例

以下示例允许用户使用 ContextMenu编辑非根树节点。 当用户右键单击鼠标时, TreeNode 确定该位置的 并将其存储在名为 的 mySelectedNode变量中。 如果选择了非根树节点,则会将其置于可编辑状态,允许用户编辑节点标签。 用户停止编辑树节点标签后,将计算并保存新标签文本。 在此示例中,标签文本中将多个字符视为无效。 如果标签字符串中存在一个无效字符,或者该字符串为空,则会通知用户错误,并将标签返回到以前的文本。

C#
/* Get the tree node under the mouse pointer and
   save it in the mySelectedNode variable. */
private void treeView1_MouseDown(object sender,
  System.Windows.Forms.MouseEventArgs e)
{
   mySelectedNode = treeView1.GetNodeAt(e.X, e.Y);
}

private void menuItem1_Click(object sender, System.EventArgs e)
{
   if (mySelectedNode != null && mySelectedNode.Parent != null)
   {
      treeView1.SelectedNode = mySelectedNode;
      treeView1.LabelEdit = true;
      if(!mySelectedNode.IsEditing)
      {
         mySelectedNode.BeginEdit();
      }
   }
   else
   {
      MessageBox.Show("No tree node selected or selected node is a root node.\n" +
         "Editing of root nodes is not allowed.", "Invalid selection");
   }
}

private void treeView1_AfterLabelEdit(object sender,
         System.Windows.Forms.NodeLabelEditEventArgs e)
{
   if (e.Label != null)
   {
     if(e.Label.Length > 0)
     {
        if (e.Label.IndexOfAny(new char[]{'@', '.', ',', '!'}) == -1)
        {
           // Stop editing without canceling the label change.
           e.Node.EndEdit(false);
        }
        else
        {
           /* Cancel the label edit action, inform the user, and
              place the node in edit mode again. */
           e.CancelEdit = true;
           MessageBox.Show("Invalid tree node label.\n" +
              "The invalid characters are: '@','.', ',', '!'",
              "Node Label Edit");
           e.Node.BeginEdit();
        }
     }
     else
     {
        /* Cancel the label edit action, inform the user, and
           place the node in edit mode again. */
        e.CancelEdit = true;
        MessageBox.Show("Invalid tree node label.\nThe label cannot be blank",
           "Node Label Edit");
        e.Node.BeginEdit();
     }
   }
}

注解

AfterLabelEdit当用户编辑完树节点的文本时,将发生 该事件。 BeforeLabelEdit当用户开始编辑树节点的文本时发生该事件。 对象 NodeLabelEditEventArgs 指定要与树节点关联的新文本、包含要编辑的标签的树节点以及编辑操作是否已取消。

有关处理事件的详细信息,请参阅 处理和引发事件

构造函数

NodeLabelEditEventArgs(TreeNode)

为指定的 TreeNode 初始化 NodeLabelEditEventArgs 类的新实例。

NodeLabelEditEventArgs(TreeNode, String)

为指定的 NodeLabelEditEventArgs 以及用来更新树节点标签的指定文本初始化 TreeNode 类的新实例。

属性

CancelEdit

获取或设置指示是否已取消编辑的值。

Label

获取与树节点关联的新文本。

Node

获取包含待编辑文本的树节点。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

另请参阅