مشاركة عبر


كيفية القيام بما يلي: قم بإرفاق قائمة مختصرة بعقدة عرض شجرة

نماذج Windows TreeViewعنصر تحكم عرض التسلسل هرمي للعقد المشابهة إلى الملفات والمجلدات المعروضة في الجزء الأيمن من مستكشف Windows. بتعيين ContextMenuStripخاصية، يمكنك توفير العمليات تتبع سياق للمستخدم عند قيامهم بزر الماوس الأيمن فوق TreeViewعنصر تحكم. بواسطة إقران على ContextMenuStripمكون بفرد TreeNodeالعناصر، يمكنك إضافة المستوى الأداء الوظيفي للقائمة المختصرة cusإلىmized إلى الخاص بك TreeViewعناصر التحكم.

إلى تقترن قائمة مختصرة TreeNode برمجياً

  1. إنشاء مثيل على TreeViewالتحكم بإعدادات الخصائص المناسبة، قم بإنشاء مرجع جذر TreeNode، وبعد ذلك إضافة عقد فرعية.

  2. إنشاء مثيل ContextMenuStripمكوّن، ثم قم بإضافة ToolStripMenuItemلكل تشغيل التي تريد إلى جعل متوفراً عند وقت التشغيل.

  3. قم بتعيين ContextMenuStripخاصية للمناسبة TreeNodeإلى إنشاء قائمة المختصرة.

  4. عند ترتيب هو خاصية هو معينة، قائمة المختصرة سيتم dهوplayed عند النقر بزر الماوس الأيمن فوق العقدة.

إنشاء مثال التعليمة البرمجية التالية على أساسية TreeViewو ContextMenuStripالمقترنة بالجذر TreeNodeمن TreeView. أنت بحاجة إلى cusإلىmize الخيارات قائمة إلى تلك التي تناسب TreeViewالتي تقوم بتطوير. بالإضافة إلى ذلك، ستحتاج إلى كتابة تعليمات برمجية لمعالجة Clickالأحداث لعناصر قائمة هذه.

' Declare the TreeView and ContextMenuStrip
Private menuTreeView As TreeView
Private docMenu As ContextMenuStrip


Public Sub InitializeMenuTreeView() 

    ' Create the TreeView.
    menuTreeView = New TreeView()
    menuTreeView.Size = New Size(200, 200)

    ' Create the root node.
    Dim docNode As New TreeNode("Documents")

    ' Add some additional nodes.
    docNode.Nodes.Add("phoneList.doc")
    docNode.Nodes.Add("resume.doc")

    ' Add the root nodes to the TreeView.
    menuTreeView.Nodes.Add(docNode)

    ' Create the ContextMenuStrip.
    docMenu = New ContextMenuStrip()

    'Create some menu items.
    Dim openLabel As New ToolStripMenuItem()
    openLabel.Text = "Open"
    Dim deleteLabel As New ToolStripMenuItem()
    deleteLabel.Text = "Delete"
    Dim renameLabel As New ToolStripMenuItem()
    renameLabel.Text = "Rename"

    'Add the menu items to the menu.
    docMenu.Items.AddRange(New ToolStripMenuItem() _
        {openLabel, deleteLabel, renameLabel})

    ' Set the ContextMenuStrip property to the ContextMenuStrip.
    docNode.ContextMenuStrip = docMenu

    ' Add the TreeView to the form.
    Me.Controls.Add(menuTreeView)

End Sub


    // Declare the TreeView and ContextMenuStrip
    private TreeView menuTreeView;
    private ContextMenuStrip docMenu;

    public void InitializeMenuTreeView()
    {
        // Create the TreeView.
        menuTreeView = new TreeView();
        menuTreeView.Size = new Size(200, 200);

        // Create the root node.
        TreeNode docNode = new TreeNode("Documents");

        // Add some additional nodes.
        docNode.Nodes.Add("phoneList.doc");
        docNode.Nodes.Add("resume.doc");

        // Add the root nodes to the TreeView.
        menuTreeView.Nodes.Add(docNode);

        // Create the ContextMenuStrip.
        docMenu = new ContextMenuStrip();

        //Create some menu items.
        ToolStripMenuItem openLabel = new ToolStripMenuItem();
        openLabel.Text = "Open";
        ToolStripMenuItem deleteLabel = new ToolStripMenuItem();
        deleteLabel.Text = "Delete";
        ToolStripMenuItem renameLabel = new ToolStripMenuItem();
        renameLabel.Text = "Rename";

        //Add the menu items to the menu.
        docMenu.Items.AddRange(new ToolStripMenuItem[]{openLabel, 
            deleteLabel, renameLabel});

        // Set the ContextMenuStrip property to the ContextMenuStrip.
        docNode.ContextMenuStrip = docMenu;

        // Add the TreeView to the form.
        this.Controls.Add(menuTreeView);
    }

    // Declare the TreeView and ContextMenuStrip
private:
    TreeView^ menuTreeView;
private:
    System::Windows::Forms::ContextMenuStrip^ docMenu;

public:
    void InitializeMenuTreeView()
    {
        // Create the TreeView.
        menuTreeView = gcnew TreeView();
        menuTreeView->Size = System::Drawing::Size(200, 200);

        // Create the root node.
        TreeNode^ docNode = gcnew TreeNode("Documents");

        // Add some additional nodes.
        docNode->Nodes->Add("phoneList.doc");
        docNode->Nodes->Add("resume.doc");

        // Add the root nodes to the TreeView.
        menuTreeView->Nodes->Add(docNode);

        // Create the ContextMenuStrip.
        docMenu = gcnew System::Windows::Forms::ContextMenuStrip();

        //Create some menu items.
        ToolStripMenuItem^ openLabel = gcnew ToolStripMenuItem();
        openLabel->Text = "Open";
        ToolStripMenuItem^ deleteLabel = gcnew ToolStripMenuItem();
        deleteLabel->Text = "Delete";
        ToolStripMenuItem^ renameLabel = gcnew ToolStripMenuItem();
        renameLabel->Text = "Rename";

        //Add the menu items to the menu.
        docMenu->Items->AddRange(gcnew array<ToolStripMenuItem^>{openLabel,
            deleteLabel, renameLabel});

        // Set the ContextMenuStrip property to the ContextMenuStrip.
        docNode->ContextMenuStrip = docMenu;

        // Add the TreeView to the form.
        this->Controls->Add(menuTreeView);
    }

راجع أيضًا:

المرجع

ContextMenuStrip

موارد أخرى

عنصر تحكم Windows Forms) TreeView)