在C# Winfrom 项目中,有三个from窗体即form1和from2以及from3。
from1窗体中包括一个timer1控件,from2窗体中包括一个timer1控件,from3窗体中包括一个timer1控件。
其中from1中的timer1控件用来控制from2以及from3窗体的显示与关闭。
目前存在一个问题,如果在关闭from2窗体时,有可能导致from2窗体中timer1控件中执行的方法报错。同样如果在关闭from3窗体时,同样可能存在timer1控件中执行的方法报错。
请问怎么样能够使from1窗体中的timer1控件,控制from2、from3窗体的显示与关闭的过程中保证from2、from3窗体的timer1控件执行的方法不报错。
注:三个from窗体中的timer1.Interval =1000(1秒钟).
大致附from2窗体中timer1控件中执行的方法如下:
MyInvoke mi = new MyInvoke(SetPanel);
BeginInvoke(mi, new object[] { ptrWnd });
public void SetPanel(IntPtr ptrWnd)
{
API.SetParent(ptrWnd, this.panel1.Handle);
API.ShowWindow(ptrWnd, API.SW_MAXIMIZE);
}
------解决思路----------------------
首先那个叫FORM,其次。。你的方法可以写在公共代码中,或者隐藏FORM
------解决思路----------------------
谁知道到报什么错?你的调试呢?
贴这么多东西,你就没有贴出一个凡是编程开发的人都应该会的调试画面来。
------解决思路----------------------
form2,form3中timer控件报错和form1没有必然的联系吧,问题应该出在你的timer事件中,把代码发出来看看
------解决思路----------------------
看你的代码似乎在自己写MDI处理。。。建议你看看MDI方面的知识。
另外处理报错可以添加try-catch模块,而且你也没说是让事件执行完,还是直接中断。。。
在一个,提倡二楼所说的方法,提炼出一个控制类,timer什么的都写在里面,form只复制显示即可