2011-12-16 156 views
0

我知道答案可能很明显,但我在这里有一个完整的大脑放屁。更改按钮点击的功能?

我想要做的是有两个按钮的简单形式。第一个按钮显示一条消息,显示“1”。点击第二个按钮后,第一个按钮在点击时显示“2”。再次点击第二个按钮后,它回到说“1”。

在学习javascript编程之后,我仍然用javascript来思考。我的第一个思路是: myButton.onclick = ...

之后我唯一能想到的就是在第一个按钮的点击函数中有一个条件并使用第二个按钮的点击来改变布尔值。 ..

有没有更好的方法来做到这一点?

+1

我怀疑Asp.net,而不是WinForms。请添加标签? – LarsTech 2011-12-16 21:10:08

+0

我真的不知道。我创建了一个新的C#窗体窗体项目,但我不知道你的意思是WinForms或Asp.net – mowwwalker 2011-12-16 21:14:50

回答

0

我明白了,会发生什么,当一个点击按钮2第一次和第二时间。但是如果你想说它必须遵循的模式,那么:

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点击事件。

希望它有帮助。

0

你要做myButton.onclick-=function_name

+ =是添加功能

- =是去除功能

0

有第二个按钮的点击处理程序设置消息变量,只是有第一个按钮的点击处理程序显示它。

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); 
} 
1

制作BUTTON2改变这被称为是点击按钮1时的方法:

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; 
    }