首页 > 解决方案 > 如何制作交互式标签?

问题描述

我正在尝试制作一个用作模板管理器的小型应用程序。我想问一下如何在一个用户表单中做到这一点,它将以下列方式显示数据。将检查 .xml 文件,标签内的内容将显示在另一个之下。所以假设我有 5 件带有这个标签的物品,所以所有 5 件都将在另一个下列出。

我有这样的东西,但这是打开一个新的新消息框并一一显示。

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 文件中的内容来更改表单上的标签?

标签: c#winforms

解决方案


尝试这个。

  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);

猜测您是否在单击按钮时从表单 1 调用表单 2。您可以执行以下操作。

内部按钮单击。

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);
}

推荐阅读