web-dev-qa-db-ja.com

ツリービューのノードをC#でプログラムで選択する方法は?

treeview.SelectedNodeを使用して、子ノードを選択しました。プログラムでノードが選択されたときにtreeview.AfterSelectイベントを呼び出す方法

this.treeView1.SelectedNode = this.treeView1.Nodes[0].Nodes[0].Nodes[0].Nodes[0]; 
if (this.treeView1.Nodes[0].Nodes[0].Nodes[0].Nodes[0].IsSelected) 
{
 MessageBox.Show("Node is selected"); 
}
26
user186246

以前に混乱していた答えをおApびします。

方法は次のとおりです。

myTreeView.SelectedNode = myTreeNode;

(更新)

以下のコードをテストしましたが、動作します:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        treeView1.Nodes.Add("1", "1");
        treeView1.Nodes.Add("2", "2");
        treeView1.Nodes[0].Nodes.Add("1-1", "1-1");
        TreeNode treeNode = treeView1.Nodes[0].Nodes.Add("1-2", "1-3");
        treeView1.SelectedNode = treeNode;
        MessageBox.Show(treeNode.IsSelected.ToString());
    }


}
39
Aliostad

プログラムでノードを選択した後、TreeView.OnAfterSelect() protectedメソッドを呼び出します。

1
Liviu M.
treeViewMain.SelectedNode = treeViewMain.Nodes.Find(searchNode, true)[0];

ここで、searchNodeはノードの名前です。私は個人的にコンボ「Node + Panel」を使用しています。ここでNode name is Node +そして同じタグが選択パネルにも設定されています。コマンド+タグによるパネルのスキャン私は通常、ツリービュー+パネルのフルメニューセットを動作させることができます。

0
TreeViewItem tempItem = new TreeViewItem();
TreeViewItem tempItem1 = new TreeViewItem(); 
tempItem =  (TreeViewItem) treeView1.Items.GetItemAt(0);    // Selecting the first of the top level nodes
tempItem1 = (TreeViewItem)tempItem.Items.GetItemAt(0);      // Selecting the first child of the first first level node
SelectedCategoryHeaderString = tempItem.Header.ToString();  // gets the header for the first top level node
SelectedCategoryHeaderString = tempItem1.Header.ToString(); // gets the header for the first child node of the first top level node
tempItem.IsExpanded = true;         //  will expand the first node
0
Michael Poore

yourNode.Toggle(); //ノードでその関数を使用し、切り替えます

0
Siim Nelis