具体的情况是Form1中有一个Timer2时钟,Timer2时钟事件弹出Warning窗体,点击Warning窗体上面的按钮,重新激活一下Form1中的Timer2。从而实现了从一个窗体调用另外一个窗体的控件的目的。

Timer2时钟每次都执行一次就会停止。

首先在Form1.cs中加入代码,弹出warning窗体:

Warning warning = Warning.GetInstance();
warning.Owner = this;
warning.ShowDialog()

然后在Warning.cs中的Button事件中,加入代码:

private void button1_Click(object sender, EventArgs e)
{
Form1 f1 = (Form1)this.Owner;
f1.timer2.Enabled=true;
this.Hide(); }

窗体Warning的实例并没有销毁,而是this.Hide() 隐藏掉。Button触发Form1中Timer2开启。

而防止Warning重复实例化,Warning.cs中,在 Waring的构造函数中加入:

private static Warning instance;
public static Warning GetInstance()
{
if (instance == null || instance.IsDisposed == true)//加一个IsDisposed判断,防止对象被释放了而无法访问
{
instance = new Warning();
instance.Icon = Properties.Resources.DataView;
}
return instance;
}

最新文章

  1. 自己常用JS和JQ 函数
  2. Setup Factory 关闭正在运行的程序
  3. Solaris 和linux 之oracle 数据库的安装
  4. BZOJ4182 : Shopping
  5. django models使用学习记录
  6. mybaits3.2.8 别名包扫描通配符
  7. 深入理解PHP Opcode缓存原理
  8. MyBatis(3.2.3) - Handling enumeration types
  9. Delphi函数指针的两种定义(对象方法存在一个隐藏参数self,所以不能相互赋值)
  10. FlatBuffers入门
  11. ORA-12737: Instant Client Light: unsupported server character set CHS16GBK
  12. linux 解压缩总结
  13. js模块化规范—CMD规范
  14. 自动化运维之PSSH
  15. Legal or Not HDU
  16. 使用VS2012生成DLL文件(1)
  17. BIO、NIO、AIO三者的比较
  18. PHP常亮
  19. 几个常用的Eclipse插件
  20. II8部署WCF服务出错

热门文章

  1. 从零开始的全栈工程师——html篇1.4
  2. Spring MVC 参数必填项导致客户端报 HTTP 400 并且无法进入断点的问题
  3. IE浏览器下的渐变背景
  4. vuejs的双向数据绑定实现原理——object.defineproperty()
  5. WinDbg:栈帧的含义
  6. JavaScript专题
  7. python常用模块(一)
  8. Spring中<context:annotation-config/>的作用
  9. wmware共享磁盘redhat 5.8挂载问题
  10. 如何查找Fiori UI上某个字段对应的后台存储表的名称