[Tips][TreeView] チェック状態を確認する

ノードに表示されたチェックボックスのチェック状態を確認するにはCheckedプロパティを参照します。

Trueであればチェック状態、Falseであれば未チェック状態を示します。

下記はチェック状態を確認する例です。
[選択したノードのチェック状態を確認]ボタンがクリックされると、選択したノードのチェック状態を確認しメッセージを表示します。

VBの例

' フォームロード時の処理
Private Sub Form8_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'チェックボックスを表示する
    TreeView1.CheckBoxes = True

    '親ノード
    Dim rootNode As New TreeNode("ルート")
    '子ノード
    Dim childNode1 As New TreeNode("子ノード1")
    Dim childNode2 As New TreeNode("子ノード2")
    '孫ノード
    Dim grandChildNode1 As New TreeNode("孫ノード1")
    Dim grandChildNode2 As New TreeNode("孫ノード2")
    Dim grandChildNode3 As New TreeNode("孫ノード3")

    '親ノードをTreeViewに追加
    TreeView1.Nodes.Add(rootNode)

    '子ノードを親ノードに追加
    rootNode.Nodes.Add(childNode1)
    rootNode.Nodes.Add(childNode2)

    '孫ノードを子ノードに追加
    childNode2.Nodes.Add(grandChildNode3)
    childNode1.Nodes.Add(grandChildNode1)
    childNode1.Nodes.Add(grandChildNode2)

    '全ノードを展開する
    TreeView1.ExpandAll()
End Sub

' [選択したノードのチェック状態を確認]ボタンクリック時の処理
Private Sub btnCheckStatus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCheckStatus.Click
    If TreeView1.SelectedNode IsNot Nothing Then
        '★★★選択されたノードがチェック状態か?★★★
        If TreeView1.SelectedNode.Checked = True Then
            MessageBox.Show("選択されたノードはチェックされています")
        Else
            MessageBox.Show("選択されたノードはチェックされていません")
        End If
    End If
End Sub

C#の例

// フォームロード時の処理
private void Form8_Load(object sender, EventArgs e)
{
    //チェックボックスを表示する
    treeView1.CheckBoxes = true;

    //親ノード
    TreeNode rootNode = new TreeNode("ルート");
    //子ノード
    TreeNode childNode1 = new TreeNode("子ノード1");
    TreeNode childNode2 = new TreeNode("子ノード2");
    //孫ノード
    TreeNode grandChildNode1 = new TreeNode("孫ノード1");
    TreeNode grandChildNode2 = new TreeNode("孫ノード2");
    TreeNode grandChildNode3 = new TreeNode("孫ノード3");

    // 親ノードをTreeViewに追加
    treeView1.Nodes.Add(rootNode);

    // 子ノードを親ノードに追加
    rootNode.Nodes.Add(childNode1);
    rootNode.Nodes.Add(childNode2);

    // 孫ノードを子ノードに追加
    childNode2.Nodes.Add(grandChildNode3);
    childNode1.Nodes.Add(grandChildNode1);
    childNode1.Nodes.Add(grandChildNode2);

    // 全ノードを展開する
    treeView1.ExpandAll();
}

// [選択したノードのチェック状態を確認]ボタンクリック時の処理
private void btnCheckStatus_Click(object sender, EventArgs e)
{
    if (treeView1.SelectedNode != null)
    {
        // ★★★選択されたノードがチェック状態か?★★★
        if (treeView1.SelectedNode.Checked == true)
            MessageBox.Show("選択されたノードはチェックされています");
        else
            MessageBox.Show("選択されたノードはチェックされていません");
    }
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です