2011-12-16 155 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; 
    }