TreeView.GetNodeAt Yöntem

Tanım

Belirtilen konumdaki ağaç düğümünü alır.

Aşırı Yüklemeler

GetNodeAt(Point)

Belirtilen noktadaki ağaç düğümünü alır.

GetNodeAt(Int32, Int32)

Belirtilen koordinatlara sahip noktadaki ağaç düğümünü alır.

GetNodeAt(Point)

Kaynak:
TreeView.cs
Kaynak:
TreeView.cs
Kaynak:
TreeView.cs

Belirtilen noktadaki ağaç düğümünü alır.

C#
public System.Windows.Forms.TreeNode GetNodeAt(System.Drawing.Point pt);
C#
public System.Windows.Forms.TreeNode? GetNodeAt(System.Drawing.Point pt);

Parametreler

pt
Point

Düğümü Point değerlendirmek ve almak için.

Döndürülenler

TreeNode Belirtilen noktada, ağaç görünümünde (istemci) koordinatlarda veya null bu konumda düğüm yoksa.

Açıklamalar

Olayın ve koordinatlarını yeni bir öğesinin X ve Y değerleri olarak geçirebilirsinizMouseEventArgs.X.PointMouseDownMouseEventArgs.Y

Ayrıca bkz.

Şunlara uygulanır

.NET Framework 4.8.1 ve diğer sürümler
Ürün Sürümler
.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, 10

GetNodeAt(Int32, Int32)

Kaynak:
TreeView.cs
Kaynak:
TreeView.cs
Kaynak:
TreeView.cs

Belirtilen koordinatlara sahip noktadaki ağaç düğümünü alır.

C#
public System.Windows.Forms.TreeNode GetNodeAt(int x, int y);
C#
public System.Windows.Forms.TreeNode? GetNodeAt(int x, int y);

Parametreler

x
Int32

Düğümün X değerlendirilip alınacak konum.

y
Int32

Düğümün Y değerlendirilip alınacak konum.

Döndürülenler

TreeNode Belirtilen konumda, ağaç görünümünde (istemci) koordinatlarda veya null bu konumda düğüm yoksa.

Örnekler

Aşağıdaki kod örneği, kullanıcının kullanarak ContextMenukök olmayan ağaç düğümlerini düzenlemesine olanak tanır. Kullanıcı fareye sağ tıkladığında, bu konumdaki TreeNode belirlenir ve adlı mySelectedNodebir değişkende depolanır. Kök olmayan bir ağaç düğümü seçildiyse, kullanıcının düğüm etiketini düzenlemesine olanak tanıyan düzenlenebilir bir duruma getirilir. Kullanıcı ağaç düğümü etiketini düzenlemeyi durdurduktan sonra, yeni etiket metni değerlendirilir ve kaydedilir. Bu örnekte, etiket metninde birkaç karakter geçerli değil olarak kabul edilir. Etiket dizesinde geçersiz karakterlerden biri varsa veya dize boşsa, kullanıcıya hata bildirilir ve etiket önceki metnine döndürülür.

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();
     }
   }
}

Açıklamalar

olayın ve MouseEventArgs.Y koordinatlarını MouseDown ve y parametreleri olarak x geçirebilirsinizMouseEventArgs.X.

Ayrıca bkz.

Şunlara uygulanır

.NET Framework 4.8.1 ve diğer sürümler
Ürün Sürümler
.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, 10