求助:有一个textBox1和一个button1,比如在textBox1 中输入"OK",然后又把"OK"改为"Cancel"我想按button1的时候,"Cancel"会还原为"OK",就是取消修改的意思,这个代码该怎么写呢?

解决方案 »

  1.   

    用一个<input type=hidden runat=server id="TextBoxValue"> 保留它的值,然后再赋给它.
      

  2.   

    很简单啊。你定义一个全局变量
    private string str;
    比如说你有2个文本框,在Text2_changed事件里写
    str=textBox1.Text;
    然后在BUTTON_click事件里写
    textBox1.text=str;
    /////////////////////////////////////////////////////////
    就是你把textBox1.text存储在一个临时变量里。经过事件(如text2_changed)给临时变量str赋值
    在button的事件里让textBox1.text等于那个临时变量就可以了.不知道你明白没有
      

  3.   

    string s = "";
    textbox1_TextChanged()
    {
    if (s == "")

       s = textBox1.Text;
    }
    //else if (s != textBox1.Text)
    //{
    //textBox1.Text  =s;
    //}
    }button1_Clicked()
    {
        if (s != "")

     textBox1.Text  =s;
    }
    }
      

  4.   

    button_click(sender,e)handles button.click
    {
    textbox1.text="OK!";
    }
      

  5.   

    首先,看回帖的朋友都是按WebForm的,我从众了。
    其次,不知楼主的"取消修改"是把所有修改都取消,还是只取消上一次,我按所有修改都取消。
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.Button Button1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    if( !this.Page.IsPostBack )
    {
    this.ViewState["OldValue"] = "OK";
    this.TextBox1.Text = "OK";
    }
    }private void Button1_Click(object sender, System.EventArgs e)
    {
    this.TextBox1.Text = this.ViewState["OldValue"].ToString();
    }
    已测试。个人意见,仅供参考。--- 难道楼主是要依次取消多步?
      

  6.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    if( !this.Page.IsPostBack )
    {
    this.ViewState["OldValue"] = "OK";
    this.TextBox1.Text = "OK";
    }
    }
    这段代码不大理解~~~~~~~~~~~~~~~~~~~~~~~
      

  7.   

    this.ViewState["OldValue"] = "OK";
    是把你的原始值放在页面缓存里,在“取消”按钮里在把这个值赋给文本框,就是“取消”效果了
      

  8.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    if( !this.Page.IsPostBack )
    {
    this.ViewState["OldValue"] = "OK";
    this.TextBox1.Text = "OK";
    }
    }
    可是this没有ViewState这个属性啊?????
    这些代码是在Form1_Load里写吧??
      

  9.   

    可是this没有ViewState这个属性啊?????
    这些代码是在Form1_Load里写吧??
      

  10.   

    button没有"撤消"这事件啊??????
    我是用linkLabel,也没 "撤消"这个事件~~~~~~~~~~~~~~
      

  11.   

    可以实现:1首先添加二个数据成员:private string iniText="";//保存初始化值
    private bool flag1=false;
    //文本框的初始值为空
    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
        //是否按下了BackSpace键,你可以用这种思路再判断是否按下了Delete键
        if(Convert.ToUInt16((e.KeyChar))==8)
             {
                  if(flag1==false)
         {
     this.button1.Text="已保存原始数据";
     iniText=this.textBox1.Text;
     flag1=!flag1;
         }
         if(this.textBox1.Text=="")
         {
     this.button1.Text="现在可恢复数据";
         }
     }
       else
         {
     flag1=!flag1;
     this.button1.Text="正在输入数据";
         }
     } private void button1_Click(object sender, System.EventArgs e)
     {
       this.textBox1.Text=iniText;
     } //"重新演示"按钮,为了再次演示效果,再添加此一个铵钮
     private void button2_Click(object sender, System.EventArgs e)
     {
        iniText="";
     }