C#Winfrom中,窗体加载时会自动执行一次控件的textchange事件,怎么让它不执行?
7个回答
展开全部
你应该是在加载窗体时为文本框赋值了。
你可以:
1.把绑定事件的代码放到赋值之后
public Form1()
{
InitializeComponent();
textBox1.Text = "123";
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);//同时去掉InitializeComponent中的绑定代码
}
2.添加一个标记标量用于标识是不是正在加载数据:
private bool m_IsLoading = false;
public Form1()
{
InitializeComponent();
m_IsLoading = true;
textBox1.Text = "123";
m_IsLoading = false;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (!m_IsLoading)
{
MessageBox.Show("123");
}
}
你可以:
1.把绑定事件的代码放到赋值之后
public Form1()
{
InitializeComponent();
textBox1.Text = "123";
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);//同时去掉InitializeComponent中的绑定代码
}
2.添加一个标记标量用于标识是不是正在加载数据:
private bool m_IsLoading = false;
public Form1()
{
InitializeComponent();
m_IsLoading = true;
textBox1.Text = "123";
m_IsLoading = false;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (!m_IsLoading)
{
MessageBox.Show("123");
}
}
展开全部
删除事件就可以了
方法是选中有这个事件的控件属性事件删除就可以了
方法是选中有这个事件的控件属性事件删除就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设立一个标志,来判断是否是加载时触发的textchange事件,如果是,就不执行textchange
如果不是就执行textchange
如果不是就执行textchange
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对带有textchange事件的文本框设置一个默认值,在窗体登录时对该文本框赋值,内容为默认值.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在代码中删除textchange事件调用的方法就好了呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询