请问,这个TextBox事件怎么写? 当TextBox1.text = "";时,发生一个事件但是,当TextBox1.Clear()的时候,不发生上述事件该怎么实现?因为,我想实现这样的功能,当TextBox1.text = ""时,要分情况执行事件,如果能行的话,我把TextBox1.text = "";改成TextBox1.Clear(),就不执行了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在 textBox的 onTextChanged 事情中去处理只是我还是不明白你到底想干什么 onTextChanged 事件,不过,=""与Clear都要执行的啊我就是想实现:当当TextBox1.text = ""时,要分情况执行事件。有些时候执行,有些时候不执行 我就是想实现:当当TextBox1.text = ""时,要分情况执行事件。有些时候执行,有些时候不执行那就在OnTextChange事件里判断你所谓的分情况调用不同的方法就行了 // 楼主,Clear() 方法实质上是将 Text 属性置为 null;public void Clear(){ this.Text = null;}// 所以可以判断是不是等于 null 或者 String.Empty 来断定两者的行为// 不要使用 IsNullOrEmpty() ontextchanged事件里加判断if(textbox1.text==""){处理代码}else{其他操作} 不对啊,老兄,Clear() 方法不是将 Text 属性置为 null。而是设置为""或Empty我试过 我就是想实现:当当TextBox1.text = ""时,要分情况执行事件。有些时候执行,有些时候不执行那就在OnTextChange事件里判断你所谓的分情况调用不同的方法就行了//TextBox1.text 赋值前,先设定个变量ID来区分事件方法。。或者直接用.Tag来区分先可以 // 重新写一个 TextBox,继而重写 Clear()class MyTextBox : TextBox{ bool propChange = true; public new void Clear() { propChange = false; base.Clear(); propChange = true; } public event EventHandler TextPropertyChanged; protected override void OnTextChanged(EventArgs e) { base.OnTextChanged(e); if (propChange == true) { if (TextPropertyChanged != null) { TextPropertyChanged(this, e); } } }} TextBox.Clear的时候手动引发该事件不行么? 10楼提供的方式比较好,有时候为了方便也可以这样private void TextBoxClear(){ textBox1.TextChanged -= new System.EventHandler(this.textBox1_TextChanged); textBox1.Text = ""; textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);} private void OnTextChange(object sender, EventArgs e){if((send as TextBox).Text == string.Empty && bDone)//dosth }然后在你的bDone = false;//Clear之前加上这一名话textBox1.Clear() 不要使用TextChanged事件,使用KeyUp事件,已测试通过。 用一个变量Null 就可以了吧 如何使用C#调用内嵌资源 新手 求助 读取csv到dataset中.变成科学计数法 怎么实现实时的跨窗体数据传递 c#关于类和主窗口的操作问题 用正则表达式 验证中文 按回车键会有“嘟“的一声 请思归等各位大哥帮忙:如何使用sql语句插入类型为nText的列? 转换问题! 如何在C#中使用API函数,需要什么类,如何得到API函数的声明字符串? 无效的 URI: 由于存在一个冒号(“:”),因此应为端口,但未能分析该端口 一个正则匹配问题
那就在OnTextChange事件里判断你所谓的分情况调用不同的方法就行了
// 楼主,Clear() 方法实质上是将 Text 属性置为 null;
public void Clear()
{
this.Text = null;
}// 所以可以判断是不是等于 null 或者 String.Empty 来断定两者的行为
// 不要使用 IsNullOrEmpty()
if(textbox1.text=="")
{
处理代码
}
else
{
其他操作
}
我试过
那就在OnTextChange事件里判断你所谓的分情况调用不同的方法就行了
//TextBox1.text 赋值前,先设定个变量ID来区分事件方法。。或者直接用.Tag来区分先可以
// 重新写一个 TextBox,继而重写 Clear()
class MyTextBox : TextBox
{
bool propChange = true; public new void Clear()
{
propChange = false;
base.Clear();
propChange = true;
}
public event EventHandler TextPropertyChanged; protected override void OnTextChanged(EventArgs e)
{
base.OnTextChanged(e); if (propChange == true)
{
if (TextPropertyChanged != null)
{
TextPropertyChanged(this, e);
}
}
}
}
private void TextBoxClear()
{
textBox1.TextChanged -= new System.EventHandler(this.textBox1_TextChanged);
textBox1.Text = "";
textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
}
{
if((send as TextBox).Text == string.Empty && bDone)
//dosth
}然后在你的
bDone = false;//Clear之前加上这一名话
textBox1.Clear()