如何在C#中的一个循环中重命名多个按钮

Luk*_*ger 3 c# text loops button winforms

我有一个类似战舰的程序,其中有一个10 x 10的网格按钮。在程序开始时,我希望所有按钮的文本都更改为“ ---”,这表明没有人在该坐标处射击。我似乎找不到一种在一个循环中重命名所有按钮的方法。所有按钮的名称均为b00,b01,b02 ...,显示其坐标。第一个数字是行,第二个数字是列。(即b69代表第7行,第10列)。

希望能对您有所帮助!

先感谢您!

路加

aln*_*aji 5

您还可以使用扩展方法 OfType()根据指定的类型进行过滤。请参见下一个示例

foreach (Button btn in this.Controls.OfType<Button>())
   {

   btn.Text="New Name";
   }
Run Code Online (Sandbox Code Playgroud)

如您所见,通过使用OfType扩展方法,您无需将控件强制转换为Button Type

希望对您有所帮助。

问候