【C#】ツリービューに右クリックメニューを追加する

C#

C#でTreeViewコントロールに右クリックメニューを追加し、選択したノードの情報を表示するサンプルコードです。

準備

フォーム上にツリービューを配置しておく。名前はtreeView1とする。

サンプルコード

以下のサンプルコードは、ListViewに右クリックメニューを追加し、選択したアイテムの情報をMessageBoxで表示するサンプルコードです。

using System;
using System.Collections;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            // ツリービュー初期化
            InitializeTreeView();

            // 右クリックメニュー初期化
            InitializeContextMenu();
        }

        // ツリービュー初期化
        private void InitializeTreeView()
        {
            // ノードの登録
            TreeNode rootNode = new TreeNode("ルートノード");
            rootNode.Nodes.Add("子ノード1");
            rootNode.Nodes.Add("子ノード2");
            treeView1.Nodes.Add(rootNode);

            // 全てのノードを展開
            treeView1.ExpandAll();
        }

        // 右クリックメニュー初期化
        private void InitializeContextMenu()
        {
            // コンテキストメニューの生成
            ContextMenuStrip contextMenu = new ContextMenuStrip();
            ToolStripMenuItem menuItemShowInfo = new ToolStripMenuItem("情報を表示");
            contextMenu.Items.Add(menuItemShowInfo);

            // コンテキストメニューのイベントハンドラ設定
            menuItemShowInfo.Click += menuItemShowInfo_Click;

            // TreeViewにコンテキストメニューを設定
            treeView1.ContextMenuStrip = contextMenu;
        }

        // 情報を表示クリック時のイベント処理
        private void menuItemShowInfo_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode != null)
            {
                // 選択されたノードの情報を表示
                TreeNode selectedNode = treeView1.SelectedNode;
                MessageBox.Show($"ノード名: {selectedNode.Text}", "ノード情報");
            }
        }
    }
}

タイトルとURLをコピーしました