在 c# 中快速重命名组件 - windows 表单 visual studio 2019
Fastly rename components in c# - windows forms in visual studio 2019
我正在使用许多按钮执行 table,我厌倦了手动重命名它,方法是单击一个按钮,然后单击名称,然后一次又一次地更改名称。我有 81 个按钮...所以我至少有 162 次点击 + 写下名字。
Here is which clicks I need to do
根据您的屏幕截图,我可以假设您将所有按钮命名为 but1、but2、butn+1。
所以你实际上可以使用 foreach
循环。
像这样:
int name = 1;
foreach (Control c in myForm.Controls)
{
if (c is Button)
{
((Button)c).Name = "but" + Convert.ToString(name++);
}
}
我还没有测试过,但我认为它会起作用。
希望对您有所帮助!
您在运行时生成按钮,您实际上并不需要已知名称。您可以对所有按钮使用标记 属性 和单个事件处理程序。
for (int x=0; x < 81; x++)
{
Button btn = new Button();
btn.Text = x.ToString(); // Set the text you need
btn.Tag = x.ToString(); // Set a unique tag
btn.Click += btOK_Click;
MyPanel.Controls.Add(btn);
}
private void btOK_Click(object sender, EventArgs e)
{
string tag = ((Button)sender).Tag.ToString();
switch(Tag)
{
case "XXX":
break;
case "YYY":
break;
}
}
我正在使用许多按钮执行 table,我厌倦了手动重命名它,方法是单击一个按钮,然后单击名称,然后一次又一次地更改名称。我有 81 个按钮...所以我至少有 162 次点击 + 写下名字。
Here is which clicks I need to do
根据您的屏幕截图,我可以假设您将所有按钮命名为 but1、but2、butn+1。
所以你实际上可以使用 foreach
循环。
像这样:
int name = 1;
foreach (Control c in myForm.Controls)
{
if (c is Button)
{
((Button)c).Name = "but" + Convert.ToString(name++);
}
}
我还没有测试过,但我认为它会起作用。 希望对您有所帮助!
您在运行时生成按钮,您实际上并不需要已知名称。您可以对所有按钮使用标记 属性 和单个事件处理程序。
for (int x=0; x < 81; x++)
{
Button btn = new Button();
btn.Text = x.ToString(); // Set the text you need
btn.Tag = x.ToString(); // Set a unique tag
btn.Click += btOK_Click;
MyPanel.Controls.Add(btn);
}
private void btOK_Click(object sender, EventArgs e)
{
string tag = ((Button)sender).Tag.ToString();
switch(Tag)
{
case "XXX":
break;
case "YYY":
break;
}
}