C# 開発

【C#】TreeView

2025.01.19 TreeView にノードを追加する

private void Form1_Load(object sender, EventArgs e)
{
    var tn = treeView1.Nodes.Add("Hello");
    tn.Nodes.Add("World!");
    tn.Nodes.Add("Japan!");
    tn.Nodes.Add("Tokyo!");
    treeView1.CheckBoxes = true;
}

2025.01.19 TreeView にノードにチェックボックスを表示する

private void Form1_Load(object sender, EventArgs e)
{
    var tn = treeView1.Nodes.Add("Hello");
    tn.Nodes.Add("World!");
    tn.Nodes.Add("Japan!");
    tn.Nodes.Add("Tokyo!");
    treeView1.CheckBoxes = true;
}

2025.01.19 TreeView にノードにアイコンイメージを表示する

private void Form1_Load(object sender, EventArgs e)
{
    imageList1.ImageSize = new Size(16, 16);
    imageList1.Images.Add(Image.FromFile(@"C:\Program Files\Microsoft Office\root\CLIPART\PUB60COR\PH03425I.JPG"));
    imageList1.Images.Add(Image.FromFile(@"C:\Program Files\Windows Media Player\Media Renderer\DMR_48.jpg"));
    treeView1.ImageList = imageList1;

    var tn = treeView1.Nodes.Add("", "メーカー", 0);
    tn.Nodes.Add("", "NEC", 1);
    tn.Nodes.Add("", "SONY", 1);
    tn.Nodes.Add("", "DELL", 1);
    treeView1.ExpandAll();
}

2025.01.19 TreeView で選択されているノードを取得する

private void button1_Click(object sender, EventArgs e)
{
    if (treeView1.SelectedNode is not null)
    {
        listBox1.Items.Add(treeView1.SelectedNode.Text);
    }
}

2025.01.21 TreeView のノードを展開、折りたたむ

private void button1_Click(object sender, EventArgs e)
{
    if (treeView1.TopNode == null) return;

    if (treeView1.TopNode.IsExpanded)
    {
        treeView1.CollapseAll();
    }
    else
    {
        treeView1.ExpandAll();
    }
}

2025.01.22 TreeView の親ノードを選択する

private void button1_Click(object sender, EventArgs e)
{
    treeView1.SelectedNode = treeView1.Nodes[0];
    treeView1.Focus();
}

2025.01.22 TreeView の子ノードを選択する

private void button1_Click(object sender, EventArgs e)
{
    treeView1.SelectedNode = treeView1.Nodes[0].Nodes[2];
    treeView1.Focus();
}

2025.01.22 TreeView の親ノードのテキストを取得する

private void button1_Click(object sender, EventArgs e)
{
    if (treeView1.SelectedNode is null) return;
    if (treeView1.SelectedNode.Parent is null) reurn;

    if (treeView1.SelectedNode.Level > 0)
    {
        listBox1.Items.Add(treeView1.SelectedNode.Parent.Text);
    }
}

2025.01.22 TreeView の子ノードの完全名を取得する

private void button1_Click(object sender, EventArgs e)
{
    foreach (var idx in Enumerable.Range(0, treeView1.Nodes[0].Nodes.Count))
    {
        listBox1.Items.Add(treeView1.Nodes[0].Nodes[idx].FullPath);
    }
}

2025.01.22 TreeView のノード数を取得する

private void button1_Click(object sender, EventArgs e)
{
    listBox1.Items.Add(treeView1.GetNodeCount(true));
}

2025.01.22 TreeView のノードを右クリックで選択する

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

-C# 開発