作成日: 2021/04/01 最終更新日: 2021/04/01
文書種別
使用方法
詳細
TreeViewコントロールでは、CheckBoxesプロパティをTrueに設定することで、ノードの横にチェックボックスを表示することができます。
このとき、CheckStateChangedイベントを利用し、ParentCollection.Parentを用いて、子・孫ノードのレベルを元にした親ノードを取得し、そのチェックのON/OFFを切り替えることで、子ノードのチェックに合わせてその親ノードのON/OFFを切り替えることができます。
◎サンプルコード(VB)
このとき、CheckStateChangedイベントを利用し、ParentCollection.Parentを用いて、子・孫ノードのレベルを元にした親ノードを取得し、そのチェックのON/OFFを切り替えることで、子ノードのチェックに合わせてその親ノードのON/OFFを切り替えることができます。
◎サンプルコード(VB)
Private Sub C1TreeView1_CheckStateChanged(sender As Object, e As C1TreeViewEventArgs) Handles C1TreeView1.CheckStateChanged
' 子・孫ノードのチェックで、親ノードのチェックのON/OFFを切り替え
' 子ノードの場合
If e.Node.Level = 1 Then
e.Node.ParentCollection.Parent.Checked = e.Node.Checked
End If
' 孫ノードの場合
If e.Node.Level = 2 Then
Dim currentNode As C1TreeNode = e.Node.ParentCollection.Parent
currentNode.ParentCollection.Parent.Checked = e.Node.Checked
End If
End Sub
◎サンプルコード(C#) private void c1TreeView1_CheckStateChanged(object sender, C1TreeViewEventArgs e)
{
// 子・孫ノードのチェックで、親ノードのチェックのON/OFFを切り替え
// 子ノードの場合
if (e.Node.Level == 1)
{
e.Node.ParentCollection.Parent.Checked = e.Node.Checked;
}
// 孫ノードの場合
if (e.Node.Level == 2)
{
C1TreeNode currentNode = e.Node.ParentCollection.Parent;
currentNode.ParentCollection.Parent.Checked = e.Node.Checked;
}
}
関連情報
旧文書番号
86532