【发布时间】:2022-01-19 10:19:57
【问题描述】:
我目前遇到以下问题:我有大约 500 个文本框,我想在单击时显示信息,但是为每个文本框单独执行此操作会花费太长时间。
我尝试了以下方法,使用包含我的 WinForm 中所有文本框的数组。但是,我似乎无法让它工作。
var textBoxes = new List<Control>();
foreach (Control c in Controls)
{
if (c is TextBox)
{
textBoxes.Add(c);
}
}
foreach(var c in textBoxes)
{ c.Click += textBox_Click();
}
public void textBox_Click(object sender, EventArgs e)
{ string location = c.Text;
MessageBox.Show(location);
}
希望有人能帮帮我,谢谢!
【问题讨论】:
-
为什么首先你有 500 个文本框?所有这些文本框都是手动添加和配置的吗? ...或通过代码生成?如果它们是代码生成的,为什么你不能代码生成也连接事件处理程序?
-
“但是,我似乎无法让它工作。” - 您需要向我们展示您是如何创建和填充您的
textBoxes集合的。 -
c.Click += textBox_Click();错了,应该是c.Click += textBox_Click;
-
@Dai 这是一个仓库的可视化表示,第一行是手工放置的,其余的是复制粘贴。这里的每个文本框代表这个仓库中的一个货架。
-
标签可能更有意义