求助:有一个textBox1和一个button1,比如在textBox1 中输入"OK",然后又把"OK"改为"Cancel"我想按button1的时候,"Cancel"会还原为"OK",就是 求助:有一个textBox1和一个button1,比如在textBox1 中输入"OK",然后又把"OK"改为"Cancel"我想按button1的时候,"Cancel"会还原为"OK",就是取消修改的意思,这个代码该怎么写呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用一个<input type=hidden runat=server id="TextBoxValue"> 保留它的值,然后再赋给它. 很简单啊。你定义一个全局变量private string str;比如说你有2个文本框,在Text2_changed事件里写str=textBox1.Text;然后在BUTTON_click事件里写textBox1.text=str;/////////////////////////////////////////////////////////就是你把textBox1.text存储在一个临时变量里。经过事件(如text2_changed)给临时变量str赋值在button的事件里让textBox1.text等于那个临时变量就可以了.不知道你明白没有 string s = "";textbox1_TextChanged(){if (s == ""){ s = textBox1.Text;}//else if (s != textBox1.Text)//{//textBox1.Text =s;//}}button1_Clicked(){ if (s != ""){ textBox1.Text =s;}} button_click(sender,e)handles button.click{textbox1.text="OK!";} 首先,看回帖的朋友都是按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();}已测试。个人意见,仅供参考。--- 难道楼主是要依次取消多步? private void Page_Load(object sender, System.EventArgs e){ if( !this.Page.IsPostBack ) { this.ViewState["OldValue"] = "OK"; this.TextBox1.Text = "OK"; }}这段代码不大理解~~~~~~~~~~~~~~~~~~~~~~~ this.ViewState["OldValue"] = "OK";是把你的原始值放在页面缓存里,在“取消”按钮里在把这个值赋给文本框,就是“取消”效果了 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里写吧?? 可是this没有ViewState这个属性啊?????这些代码是在Form1_Load里写吧?? button没有"撤消"这事件啊??????我是用linkLabel,也没 "撤消"这个事件~~~~~~~~~~~~~~ 可以实现: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=""; } C#调用excel模板后根据模板中自定义数据库字段同cell定位生成多sheet的excel文件 c# 如何让窗体显示在屏幕中央? net项目2个版本 安装问题 如果我用C#读取文件的时候锁定文件?其他进程在访问这个文件是提示错误还是被堵塞? 在多层开发中,如何返回Business层和Data层的错误。。 .NET2003的C#类库的编译问题 如何實現QQ拖放效果 C#中关于线程的问题! 如何实现 windows2000的开始菜单效果 请问一个正则表达式 为什么我的asp.net连接不上数据库 请问“关于IE中拨号上网代理服务器设置问题”
private string str;
比如说你有2个文本框,在Text2_changed事件里写
str=textBox1.Text;
然后在BUTTON_click事件里写
textBox1.text=str;
/////////////////////////////////////////////////////////
就是你把textBox1.text存储在一个临时变量里。经过事件(如text2_changed)给临时变量str赋值
在button的事件里让textBox1.text等于那个临时变量就可以了.不知道你明白没有
textbox1_TextChanged()
{
if (s == "")
{
s = textBox1.Text;
}
//else if (s != textBox1.Text)
//{
//textBox1.Text =s;
//}
}button1_Clicked()
{
if (s != "")
{
textBox1.Text =s;
}
}
{
textbox1.text="OK!";
}
其次,不知楼主的"取消修改"是把所有修改都取消,还是只取消上一次,我按所有修改都取消。
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();
}
已测试。个人意见,仅供参考。--- 难道楼主是要依次取消多步?
{
if( !this.Page.IsPostBack )
{
this.ViewState["OldValue"] = "OK";
this.TextBox1.Text = "OK";
}
}
这段代码不大理解~~~~~~~~~~~~~~~~~~~~~~~
是把你的原始值放在页面缓存里,在“取消”按钮里在把这个值赋给文本框,就是“取消”效果了
{
if( !this.Page.IsPostBack )
{
this.ViewState["OldValue"] = "OK";
this.TextBox1.Text = "OK";
}
}
可是this没有ViewState这个属性啊?????
这些代码是在Form1_Load里写吧??
这些代码是在Form1_Load里写吧??
我是用linkLabel,也没 "撤消"这个事件~~~~~~~~~~~~~~
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="";
}