Как получить массив Treenode - PullRequest
0 голосов
/ 31 августа 2010

Я хотел бы иметь массив treenode таким образом, чтобы, если бы я добавил пользовательский узел вместе с этим, оставшиеся узлы, объявленные в массиве, были добавлены как дочерние узлы к этому добавленному пользовательскому узлу.

Первоначально у меня будет древовидная структура с узлом заголовка, если я нажму на нее правой кнопкой мыши, у меня будет контекстное меню с опцией addnew.когда я нажимаю на это, у меня будет опция диалога сохранения файла, чтобы сохранить файл, и я свяжу его как дочерний узел с этим корневым узлом.Наряду с этим я хотел бы добавить еще несколько узлов в качестве дочерних узлов в связанный

Ответы [ 2 ]

1 голос
/ 31 августа 2010

Это ответ для меня

private void AddNew_Click(object sender, EventArgs e)
{
    Stream myStream;
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    saveFileDialog1.InitialDirectory = @"C:\";
    //saveFileDialog1.CheckFileExists = true;
    //saveFileDialog1.CheckPathExists = true;
    saveFileDialog1.DefaultExt = "txt";

    saveFileDialog1.Filter = "(*.txt)|*.txt";
    saveFileDialog1.FilterIndex = 2;
    saveFileDialog1.RestoreDirectory = true;

    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {

        if ((myStream = saveFileDialog1.OpenFile()) != null)
        {

            string FileName = saveFileDialog1.FileName;
            TreeNode newNode = new TreeNode(FileName);
            newNode.SelectedImageIndex = 1;
            tvwACH.SelectedNode.Nodes.Add(newNode);
            newNode.Nodes.Add("FileHeader");
            newNode.Nodes.Add("BatchHeader");
            newNode.Nodes.Add("EntryDetail");
            // TODO: Add code here to save the current contents of the form to a file.
            //myStream.Close();                
        }
    }
}
0 голосов
/ 31 августа 2010

Один из вариантов - просто сделать массив, как указано, а затем, когда вы захотите добавить их в качестве потомков вновь созданного узла, через них будет выполняться foreach:

foreach(var node in nodeArray)
    newNode.Nodes.Add(node);

Что-то в этих строках должно помочьдля тебя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...