我正在制作一个 GUI 程序,它将显示一些文件路径(根据用户输入) 因为标签是根据用户输入制作的,所以它们是动态创建的。我希望当用户单击标签时,打开相应的文件(显示其文本)。我已将创建的所有标签存储在列表中。我想到了以下解决这个问题的方法
- 添加一个 Open 函数,它将打开文件到 Click 事件
问题是
函数如何知道使用哪些按钮文本来打开文件,
即如果有三个标签,并且用户按下第二个标签,打开函数将如何知道按下了哪个标签?
我正在制作一个 GUI 程序,它将显示一些文件路径(根据用户输入) 因为标签是根据用户输入制作的,所以它们是动态创建的。我希望当用户单击标签时,打开相应的文件(显示其文本)。我已将创建的所有标签存储在列表中。我想到了以下解决这个问题的方法
问题是
函数如何知道使用哪些按钮文本来打开文件,
即如果有三个标签,并且用户按下第二个标签,打开函数将如何知道按下了哪个标签?
为标签指定唯一名称,为它们分配相同的点击事件,并使用开关:
private void label_Click(object sender, EventArgs e)
{
switch(((Label)sender).Name)
{
case "Label1":
//........
break;
}
}
编辑:
只需在创建标签时订阅事件:
label.Click += label_Click;
如果您查看设计器代码,这就是您在 UI 中设置事件时所做的一切
终于想出了一个办法
private void LabelClick(object sender, EventArgs e)
{
string Path = ((Label)sender).Text ;
System.Diagnostics.Process.Start(Path) ;
}
这里文件的路径在标签的文本属性中