Как сделать интерактивные ярлыки? - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь сделать небольшое приложение, которое будет использоваться в качестве менеджера шаблонов.Я хотел бы спросить, как это сделать, что в одной форме пользователя он будет отображать данные следующим образом.Будет проверен файл .xml, и то, что внутри тегов, будет показано одно под другим.Допустим, у меня есть 5 элементов с этим тегом, поэтому все 5 будут перечислены один под другим.

У меня есть что-то вроде этого, но это открывает новый новый MessageBox и показывает их один за другим.

private void button1_Click(object sender, EventArgs e)
{
  string Username = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
  var str = Username;
  var result = str.Length <= 4 ? "" : str.Substring(4);
  string path = $"C:\\Users\\{result}\\Documents

  XmlDocument doc = new XmlDocument();
  doc.Load(path);
  XmlTextReader xtr = new XmlTextReader(path);
  while (xtr.Read())
  {
    if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "name")
    {
      string string_title = xtr.ReadElementString();
      // Console.WriteLine("Name = "+ s1);
      MessageBox.Show("Title: " + Environment.NewLine + string_title);
    }
  }

У меня есть секунда с именем Form2, я могу сослаться натаким образом, в качестве примера new Form2 (). Show ();но как мне сделать, чтобы метки на форме менялись в соответствии с тем, что находится в файле xml между конкретными тегами?

1 Ответ

0 голосов
/ 29 января 2019

Попробуйте это.

  string string_title;

  while (xtr.Read())
  {
    if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "name")
    {
      string_title += xtr.ReadElementString() + Environment.NewLine;
      // Console.WriteLine("Name = "+ s1);
    }
  }

  MessageBox.Show("Title: " + string_title);

Угадайте, звоните ли вы из формы 2 из формы 1 по нажатию кнопки.Вы можете сделать, как показано ниже.

Нажатие внутренней кнопки.

var form2 = new Form2(string_title);
form2.show();

Внутренняя форма 2.

string dataFromForm1;
public Form2(string data) {
 dataFromForm1 = data;
}

Метод показа внутренней формы 2.

public void show(){
   MessageBox.Show("Title: " + dataFromForm1);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...