Visual Studio C# 多按钮数组

Ane*_*VIČ -2 c# visual-studio winforms

因此,在我的 Windows 窗体应用程序 (C#) 中,我有一个按钮元素网格 (btn0, btn1, ... , btn200) 。我已经四处寻找了一段时间,但我找不到我想要的答案。

问题是如何同时更改所有按钮的属性。起初,我尝试格式化这样的字符串:"btn" + id,(id 是按钮编号),以便我将每个按钮名称都放在一个字符串中。但是后来我遇到了从字符串更改为按钮(类型)的问题。有没有办法做到这一点 ?我尝试做的另一件事是创建一系列按钮,但也没有成功。

这两种方式之一是否可能以及如何?

Zei*_*kki 5

假设按钮都在一个名为 parent 的控件中:

foreach(Button btn in parent.Controls.OfType<Button>())
{
  // do something with btn
  // eg btn.Text = "New Text";
}
Run Code Online (Sandbox Code Playgroud)

如果按钮直接在表单中,请使用this而不是父级。如果按钮位于某种面板中,请使用panelName而不是父级。

以上有效,因为正如您所说,所有按钮共享同一个父级。但是,如果在其他情况下,您在不同的父级(例如面板)中有按钮,则需要进行一些递归或指定多个特定的父级进行循环)。