c#-单击其他按钮时隐藏按钮文本
我正在尝试创建一个由12个按钮组成的匹配游戏。程序从包含12个字符串的数组中分配一个随机字符串。按下按钮时,标签将传递到button.text。 举例来说,我现在想要完成的就是。如果我按下“按钮1”,它的文本将变为“雪佛兰卡马罗”。如果我下一步按“按钮4”,我希望button1.text回复为“按钮1”,而不是“Chevy Camaro”的标签值。同样地,由于按下了“按钮4”,我希望它显示标签 除了按钮#之外,每个按钮都有类似的代码,按钮#当然会根据所使用的按钮而变化 我不确定如何声明,如果按钮是当前活动项,则显示其标记属性,否则,返回c#-单击其他按钮时隐藏按钮文本,c#,button,tags,C#,Button,Tags,我正在尝试创建一个由12个按钮组成的匹配游戏。程序从包含12个字符串的数组中分配一个随机字符串。按下按钮时,标签将传递到button.text。 举例来说,我现在想要完成的就是。如果我按下“按钮1”,它的文本将变为“雪佛兰卡马罗”。如果我下一步按“按钮4”,我希望button1.text回复为“按钮1”,而不是“Chevy Camaro”的标签值。同样地,由于按下了“按钮4”,我希望它显示标签 除了按钮#之外,每个按钮都有类似的代码,按钮#当然会根据所使用的按钮而变化 我不确定如何声明,如果按钮
private void button4_Click(object sender, EventArgs e)
{
button4.Text = button4.Tag.ToString();
buttoncount++;
label2.Text = buttoncount.ToString();
}
提前感谢你的帮助。慢慢地学习这些东西=p您可以跟踪上次单击的按钮:
public partial class Form1 : Form
{
Button lastButton = null;
int buttoncount;
public Form1()
{
InitializeComponent();
button1.Tag = "Ford Mustang";
button2.Tag = "Ford Focus";
button3.Tag = "Chevy Malibu";
button4.Tag = "Chevy Camaro";
button1.Click += button_Click;
button2.Click += button_Click;
button3.Click += button_Click;
button4.Click += button_Click;
//etc...
}
void button_Click(object sender, EventArgs e)
{
if (lastButton != null)
{
SwitchTagWithText();
}
lastButton = sender as Button;
SwitchTagWithText();
buttoncount++;
label2.Text = buttoncount.ToString();
}
void SwitchTagWithText()
{
string text = lastButton.Text;
lastButton.Text = lastButton.Tag.ToString();
lastButton.Tag = text;
}
}
您能使用外观设置为button的RadioButton控件吗?用这些按钮替换所有按钮,将它们放在一个分组框中,单击“关闭”时外观的“恢复”可以自动处理。要更新文本,可以使用下面这样的简单事件处理程序
private void MakeButton()
{
RadioButton rb = new RadioButton
{
Appearance = Appearance.Button,
Tag = "Chevy Camero"
};
rb.CheckedChanged += rb_CheckedChanged;
}
private void rb_CheckedChanged(object sender, EventArgs e)
{
RadioButton clickedButton = sender as RadioButton;
string currentText = clickedButton.Text;
clickedButton.Text = clickedButton.Tag.ToString();
clickedButton.Tag = currentText;
}
您需要确保所有按钮使用相同的事件处理程序。如果没有人能打败我,我会很快给你打一个例子:)Eric,根据上面的内容,如果我理解正确,你已经静态地将字符串分配给了相应的按钮?我有两个数组,一个用于按钮名称,即“按钮1”、“按钮2”等。第二个数组提取汽车名称。它会随机地将汽车名称分配给一个随机按钮。最终目标是一场比赛。12个按钮,6个不同的车名…等等,我只是告诉你如何跟踪被点击的按钮…并切换回文本…你最初如何填写标签和文本属性是不相关的。工作非常完美!谢谢Eric。我的项目要求它必须是按钮:/如“您必须使用System.Windows.Forms.Button控件”?否则,我的建议会让屏幕上出现各种按钮。