我知道答案可能非常明显,但我在这里有一个完整的大脑放屁。
我想要的是一个带有两个按钮的简单表格。第一个按钮显示消息“1”。单击第二个按钮后,单击时第一个按钮显示“2”。再次单击第二个按钮后,它会返回“1”。
用javascript学习编程后,我仍在思考javascript。我的第一个思路是: myButton.onclick = ...
之后我唯一想到的就是在第一个按钮的click函数中有一个条件,然后使用第二个按钮点击来改变一个布尔...
有更好的方法吗?
答案 0 :(得分:1)
make button2更改单击button1时调用的方法:
private void button1_Click(object sender, EventArgs e)
{
Text = "1";
}
private void button1_Click2(object sender, EventArgs e)
{
Text = "2";
button1.Click -= button1_Click2;
button1.Click += button1_Click;
}
private void button2_Click(object sender, EventArgs e)
{
button1.Click -= button1_Click;
button1.Click += button1_Click2;
}
答案 1 :(得分:0)
你必须myButton.onclick-=function_name
+ =是添加功能
- =是删除功能
答案 2 :(得分:0)
让第二个按钮的点击处理程序设置一个消息变量,只需让第一个按钮的点击处理程序显示它。
答案 3 :(得分:0)
编辑:我为asp.net写了这个。转换为winforms并不困难。
声明一个字符串变量:
public static mystring = "1";
在button2_click上,您可以更改该值。我正在展示永久更改它的简单情况,但您可以以任何您喜欢的方式编写代码来替换:
protected void btn2_Click(object sender, EventArgs e)
{
mystring = "2";
}
例如,要在1和2之间交替,可以设置int n = 1的值,并让btn2将值设置为(3-n).ToString();
然后做:
protected void btn1_Click(object sender, EventArgs e)
{
Response.Write(mystring);
}
答案 4 :(得分:0)
我明白了,第一次点击button2并第二次点击时会发生什么。但如果你想说它必须遵循的模式,那么:
Bool bln = true;
private void button2_Click(object sender, EventArgs e)
{
if(bln)
text1();
else
text2();
bln = !bln;
}
private void text1()
{
// Whatever
}
private void text2()
{
// Whatever
}
使用您要查找的任何内容填充方法。在这里,这些方法也可以重复用于button1点击事件。
希望它有所帮助。
答案 5 :(得分:0)
您始终可以通过以下方式使其工作:
private void button1_Click(object sender, EventArgs e)
{
button1.Text = "Button 1 Text";
MessageBox.Show("B1 Function1");
button1.Click -= button1_Click;
button1.Click += button1_Click2;
}
private void button1_Click2(object sender, EventArgs e)
{
button.Text = "Button 1 Text 2";
MessageBox.Show("B1 Function2");
button1.Click -= button1_Click2;
button1.Click += button1_Click;
}