但是我不知道妳的具體需求是什麽,不好謝代碼!!
我寫個了簡單的列子
界面上與3個按鈕,button2,button3,button4,壹個進度條progress1
button2的默認功能是改變進度,button3的功能是將button4的功能轉移給button2
註意,線程中需要用invoke來調用,我這裏為了省事,直接寫了,各個控件的代碼如下
// 改變進度的方法
private void profuc()
{
while (progressBar1.Value!=100)
{
progressBar1.Value += 1;
Thread.Sleep(1000);
}
//恢復button2的功能
button2.Click -= button4_Click;
button2.Text = "進度";
button2.Click +=new EventHandler(button2_Click);
}
// button2的點擊事件
private void button2_Click(object sender, EventArgs e)
{
progressBar1.Value = 0;
new Thread(profuc).Start();
}
// button3的點擊事件
private void button3_Click(object sender, EventArgs e)
{
//改變button2的功能
button2.Click -= button2_Click;
button2.Text = "消息";
button2.Click += new EventHandler(button4_Click);
}
// button4的點擊事件
private void button4_Click(object sender, EventArgs e)
{
MessageBox.Show("我現在的功能是顯示消息");
}