1,这是因为用线程控制子窗体,刷新数据的时候会影响主窗体,因为主次窗体是以 Main man = new Main(); man.ShowDialog();形式存在
2,解决办法:
新建公共类,Bool属性并赋值,在需要调用刷新数据方法地方通过给刷新数据的方法套一个事件,在通过Timer 控件结束当前线程后调用刷新数据
代码:
public class Notify
{ public static bool IsImportSapFinished { get; set; } }System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
timer.Tick += new EventHandler(this.Monitor); timer.Interval = 1000; timer.Enabled = true; timer.Start();
public void Monitor(object sender, EventArgs arg)
{ if (Notify.IsImportSapFinished) { GetDate(); Notify.IsImportSapFinished = false; } }