使定时器执行bidder00_TextChanged事件
本文关键字:TextChanged 事件 bidder00 定时器 执行 | 更新日期: 2023-09-27 17:54:46
我正试图弄清楚如何使它,当我的timer
滴答,它执行bidder00_TextChanged
,或类似的东西。
这是可能的吗?如果不是,还有别的办法吗?我试着搜索谷歌,但我没有得到任何结果,如果你发现任何我错过了请贴在这里。
我实际上没有任何代码,但这里是:
private void bidder00_TextChanged(object sender, EventArgs e)
{
if (bidder00.Text == addbidder1.Text)
{
bidBtn1.PerformClick();
}
}
这是我的TextChanged
事件
我的timer
没有任何代码,因为它将执行bidder00_TextChanged
事件。
您可以创建一个方法Perform()
,并在您的事件处理程序中调用它:
private void timer1_Tick(object sender, EventArgs e)
{
Perform();
}
private void bidder00_TextChanged(object sender, EventArgs e)
{
Perform();
}
private void Perform()
{
if (bidder00.Text == addbidder1.Text)
{
bidBtn1.PerformClick();
}
}
我假设您已经将实际逻辑与click
事件相结合,这不是一个好主意。将代码分离到一个单独的函数中,并让应用程序的两个部分调用相同的代码,例如
private void SubmitBid()
{
// code you want to execute
}
private void OnSubmitBid()
{
// confirm whether we can actually submit the bid
if (bidder00.Text == addbidder1.Text)
{
SubmitBid();
}
}
private void Timer1_OnTick(object sender, EventArgs e)
{
// trigger code from timer
OnSubmitBid();
}
private void bidder00_TextChanged(object sender, EventArgs e)
{
// trigger code from text change
OnSubmitBid();
}
private void btnBid_Click(object sender, EventArgs e)
{
// trigger code from button press
OnSubmitBid();
}
注意所有的UI控件都触发相同的代码。这里有一个额外的调用用于文本控件验证(即OnSubmitBid()
) -如果不需要,那么您只需直接调用SubmitBid
。