c#:
this.tbx1.TextChanged += new EventHandler(tbx1_TextChanged);
private void tbx1_TextChanged(object sender, EventArgs e)
{
//执行代码
this.tbx1.TextChanged -= new EventHandler(tbxPassWord_TextChanged);
}
我想达到以上效果,但是这样写不行,请教一下。
意思就是TextChanged事件只在第一次触发后就取消订阅该事件
急!
this.tbx1.TextChanged += new EventHandler(tbx1_TextChanged);
private void tbx1_TextChanged(object sender, EventArgs e)
{
//执行代码
this.tbx1.TextChanged -= new EventHandler(tbxPassWord_TextChanged);
}
我想达到以上效果,但是这样写不行,请教一下。
意思就是TextChanged事件只在第一次触发后就取消订阅该事件
急!
private void tbx1_TextChanged(object sender, EventArgs e)
{
if(!isChanged)
{ //功能
isChanged=true
}
}
对比一下这两句,你真的知道你要什么效果吗
不过这个方法确实有用,给我个提示,谢谢!
应该是
this.tbx1.TextChanged += new EventHandler(tbx1_TextChanged);
private void tbx1_TextChanged(object sender, EventArgs e)
{
//执行代码
this.tbx1.TextChanged -= new EventHandler(tbx1_TextChanged);
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace WindowsApplication5
{
public partial class Form1 : Form
{
private EventHandler m_handler = null; public Form1()
{
InitializeComponent();
} /// <summary>
/// 窗体Load时实例化事件
/// </summary>
/// <param name="e"></param>
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
m_handler = new EventHandler(textBox1_TextChanged);
textBox1.TextChanged += m_handler;
} private void textBox1_TextChanged(object sender, EventArgs e)
{
TextBox txtbox = sender as TextBox; MessageBox.Show("事件存在");
if (m_handler != null)
{
textBox1.TextChanged -= m_handler;
MessageBox.Show("已经取消掉");
}
}
}
}VS2005通过!