未分類

【C# TreeView】ツリービューのノードを右クリックで選択する

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にツリービュー (treeView1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  TreeNode tn = treeView1.Nodes.Add("Hello");
  tn.Nodes.Add("World!");
  tn.Nodes.Add("Japan!");
  tn.Nodes.Add("Tokyo!");
}

private void treeView1_MouseDown(object sender, MouseEventArgs e)
{
  if (e.Button == MouseButtons.Right)
  {
    treeView1.SelectedNode = treeView1.GetNodeAt(e.X, e.Y);
  }
}

解説

クリックされた座標によって、ノードの選択をしています。しかし、これだけでは、ノードの右側の空白の部分でも反応してしまう欠点があります。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類