c# - 如何制作交互式标签?
问题描述
我正在尝试制作一个用作模板管理器的小型应用程序。我想问一下如何在一个用户表单中做到这一点,它将以下列方式显示数据。将检查 .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 文件中的内容来更改表单上的标签?
解决方案
尝试这个。
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);
}
推荐阅读
- sql - 相交上的平均值
- android - 如何在服务中使用离子库?
- jersey-2.0 - 在球衣应用程序中创建了太多 MethodWrapperImpl
- javascript - rxjs equivalent of stopping an async function using 'return';
- r - 从 rugarch 包的 egarch 模型中提取残差时的奇怪结果
- c++ - 类声明:链接器命令失败,退出代码为 1
- html - 文本对齐:右;不醒
- visual-studio-code - 在 Kali Linux 中安装 VSCode 时如何解决此错误?
- qt - 如何将多个图标添加到 QTreeWidgetItem?
- android - 使用 Oboe 库进行反馈中和的音频 I/O