譬如说原本buttonA点击后执行messagebox.show("xx")
现在想if(a=="") buttonA.Text="exit"
下一句就是希望替换buttonA的单击行为,不知道该怎么写呢.

解决方案 »

  1.   

    “替换buttonA的单击行为” 不是很明白1.具体的改变,主要看你的具体实现,比如你在单击事件中,调用双击的事件代码,这时候单击也就变成双击
    2.重载button类,自己实现单击行为
      

  2.   

    说白一点就是
    原本buttonA点击后单单执行messagebox.show("xx") 
    现在希望改变一下,如果a=="",那么buttonA.Text就设为"exit",并且退出程序.
    这样应该怎么做呢?
      

  3.   

    错误 1 “PerformClick”是一个“方法组”,无法为它赋值
    -----------------------------------------------------------
    错误 1 赋值号左边必须是变量、属性或索引器
      

  4.   

    btn1_Click(object sender, EventArgs e) 

          btn2_Click(sender,e); 

    btn1.PerformClick(); //执行单击btn1的动作 
      

  5.   

    编写一个函数并设置一个全局变量,函数根据全局变量不同的值来执行相应的操作。在button的单击处理函数中调用这个函数,想改变button的行为时只要提前改变全局变量的值就行了
      

  6.   

    btn1_Click(object sender, EventArgs e) 
    {
       if(a=="")
       {
           buttonA.Text = "exit";
           Application.Exit();
       }
       Messagebox.show("xx");
    }
    很容易实现
      

  7.   

    不是你说的这样啊...buttonA.Text="exit";跟Application.Exit();不是同步执行的.
    要的效果是buttonA.Text="exit";之后,单击buttonA就是Application.Exit();
      

  8.   

    你根据caption判断行不行呢?
    btn1_Click(object sender, EventArgs e) 

      if(buttonA.Text == "exit"; 
      { 
          Application.Exit(); 
      } 
      //做其它的事情
      

  9.   

    把buttona的click事件 注册个新方法就ok鸟
      

  10.   

    winForm里面需要手动注册? 不应该吧!
      

  11.   

    用委托:if(...)
    {
       button.Click -= ClickMethod2(...);
       button.Click += ClickMethod1(...);
    }
    else if(...)
    {
       button.Click -= ClickMethod1(...);
       button.Click += ClickMethod2(...);
       button.Text = "exit";
    }ClickMethod1(...)

        MessageBox.Show("...");
    }ClickMethod2(...)
    {
       Application.Exit();
    }