当主窗体,接收到数据时,将接收到的数据实时更新到子窗体中。
主窗体中:
public partial class MainForm : Form
{
private int i = 0;
public int IValue
{
get { return i; }
}
private Timer timer = new Timer();
public MainForm()
{
InitializeComponent();
// 设置定时器
timer.Interval = 1000; // 1秒
timer.Tick += Timer_Tick;
timer.Start();
}
private void Timer_Tick(object sender, EventArgs e)
{
i++; // 每秒增加1
UpdateData();
}
private void UpdateData()
{
// 更新数据的逻辑
OnDataUpdated(EventArgs.Empty);
}
protected virtual void OnDataUpdated(EventArgs e)
{
DataUpdated?.Invoke(this, e);
}
}
在子窗体中:
public partial class SubForm : Form
{
private MainForm mainForm; // 主窗体的引用
public SubForm(MainForm mainForm)
{
InitializeComponent();
this.mainForm = mainForm; // 保存主窗体的引用
mainForm.DataUpdated += MainForm_DataUpdated; // 订阅事件
}
private void MainForm_DataUpdated(object sender, EventArgs e)
{
label1.Text = mainForm.IValue.ToString();
}
}