我有24个按钮,每个按钮可打开一个单独的表单。我希望有一种方法可以在单击所有按钮时都将它们打开/ 带到前面,这样我就不必为每次按钮单击创建单独的方法,因此看起来像这样:
select
但随后出现错误“'type'是变量,但像类型一样使用。
我看过许多其他有关Stack Overflow的论坛,但没有一个给我解决方案。也许我想完成的事情不可能?
答案 0 :(得分:1)
创建字典以将按钮之间的链接链接到表单:
Dictionary<Button, Form> _buttonToFormDict = new Dictionary<Button, Form>();
在代码中向字典添加按钮和表格:
_buttonToFormDict.Add(button1, _form1);
_buttonToFormDict.Add(button2, _form2);
_buttonToFormDict.Add(button3, _form3);
...
添加按钮单击事件,该事件检查单击了哪个按钮并找到相关的表单:
private void button_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
if (sender is Button && _buttonToFormDict.ContainsKey(btn))
{
Form form = _buttonToFormDict[btn];
if (!form.IsDisposed && form != null)
{
// Show the form if it was not shown
form.Show();
// Bring back the form if it was minimized
if (form.WindowState == FormWindowState.Minimized)
{
form.WindowState = FormWindowState.Normal;
}
// Brig to front
form.BringToFront();
}
}
}
并将click事件添加到按钮的click事件中。