سؤال

لنفترض أنا باستخدام قائمة السياق لإضافة العقد التابعة إلى عنصر تحكم تريفيف.

و(1) أنا النقر بزر الماوس الأيمن على عقدة

و(2) قائمة السياق يطفو على السطح

و(3)، ثم النقر فوق "إضافة" عنصر القائمة

و(4) بفتح dialogBox يصل

و(5) I إدخال الاسم في ذلك DialogBox ثم اضغط على OK

و(6) يتم إنشاء عقدة جديدة.

وكيف يمكنني الحصول على إشارة من عقدة الحالية وأنا عندما النقر على عنصر القائمة السياق؟

وانا بحاجة الى هذا كوز يتم تخزين الكائن الأصل في خاصية العلامات العقدة الحالية.

هل كانت مفيدة؟

المحلول

إذا كنت التعامل مع <لأ href = "http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.nodemouseclick٪28VS.85٪29.aspx" يختلط = "noreferrer" > TreeNodeMouseClick ، ثم TreeNodeMouseClickEventHandler الخاص بك سيتم تمرير حجة TreeNodeMouseClickEventArgs.

وTreeNodeMouseClickEventArgs.Node سيكون TreeNode الرجوع تريد. انظر TreeNodeMouseClick مستندات للحصول على مثال مشابه:

void treeView1_NodeMouseClick(object sender,  
    TreeNodeMouseClickEventArgs e)
{
    TreeNode theTreeNodeIWant = e.Node

}

إذا كنت بحاجة إلى ذلك، يمكنك تخزين مرجع في متغير عضو حتى طريقة أخرى يمكن الوصول إليه.

نصائح أخرى

ويمكنك الحصول على موضع الماوس من

System.Windows.Forms.Cursor.Position

وحفظ هذا قبل أن تظهر قائمة السياق.

وبعد ذلك استخدم الطريقة على تريفيف تحتوي على العناصر الخاصة بك

GetChildAtPoint(Point)

وإضافة طفل دون ذلك.

scroll top