我有一个带有计时器的用户控件
public partial class Cumle : UserControl
{
private bool cond=false;
//Some Code....
private void timer2_Tick(object sender, EventArgs e)
{
//Some Code....
if(//some condition...)
cond=true;
}
}
我正在Windows窗体上工作。我想显示一个消息框,告诉我cond是正确的。我想在Form上不使用计时器来制作这些东西。
public partial class Form1 : Form
{
//What I must write here?
}
您需要向您的UserControl添加一个公共事件,并从您的主表单中订阅它。
这样的事情应该做到这一点:
public partial class Cumle : UserControl
{
public event Action<bool> ConditionChanged = delegate {};
private bool cond=false;
//Some Code....
private void timer2_Tick(object sender, EventArgs e)
{
//Some Code....
if(//some condition...)
{
cond=true;
ConditionChanged(cond);
}
}
}
然后以您的形式:
public partial class Form1 : Form
{
void SubscribeToConditionChanged()
{
myUserControl.ConditionChanged += ShowDlg;
}
void ShowDlg(bool condition)
{
MessageBox.Show("....");
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句