请问如何控制不同from窗体中的timer控件执行的方法不报错。

sxl_88 2015-02-17 09:53:01
在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);
}
...全文
173 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SmileSkyNet 2015-02-18
  • 打赏
  • 举报
回复
form2,form3中timer控件报错和form1没有必然的联系吧,问题应该出在你的timer事件中,把代码发出来看看
wwei466 2015-02-18
  • 打赏
  • 举报
回复
看你的代码似乎在自己写MDI处理。。。建议你看看MDI方面的知识。 另外处理报错可以添加try-catch模块,而且你也没说是让事件执行完,还是直接中断。。。 在一个,提倡二楼所说的方法,提炼出一个控制类,timer什么的都写在里面,form只复制显示即可
  • 打赏
  • 举报
回复
谁知道到报什么错?你的调试呢? 贴这么多东西,你就没有贴出一个凡是编程开发的人都应该会的调试画面来。
xu56180825 2015-02-17
  • 打赏
  • 举报
回复
首先那个叫FORM,其次。。你的方法可以写在公共代码中,或者隐藏FORM

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧