如何安全地跨窗体调用Timer控件 从一个窗体调用控制另外一个窗体的控件
具体的情况是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;
}
如何安全地跨窗体调用Timer控件 从一个窗体调用控制另外一个窗体的控件的更多相关文章
- 无边框窗体和timer控件
一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要放置的控件可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入(pictureBox1_MouseE ...
- 如何:对 Windows 窗体控件进行线程安全调用
http://msdn.microsoft.com/zh-cn/library/ms171728(VS.90).aspx http://msdn.microsoft.com/zh-cn/library ...
- DevExpress第三方控件使用实例之ASPxPopupControl弹出子窗体
弹出页面控件:ASPxPopupControl, <dxpc:ASPxPopupControl ID="popubCtr" runat="server" ...
- 错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内 .
错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内 在做导出数据到EXCEL程序中,出现了错误提示:类型“GridView”的控件“Gr ...
- 关于类型“LinkButton”的控件“xxx”必须放在具有 runat=server 的窗体标记内问题的解决方案
1.首先确认LinkButton控件包含在Form中,检查该Form有无runat标记,如果有,排除Form原因,请继续看. 2.如果看到这里,估计你是在做Excel导出功能.在后台代码中重写Veri ...
- winform子窗口调用父窗口的控件及方法-一般调用
首先新建一个窗体应用程序,在项目属性中点击右键->添加->添加新项,选择Windows窗体->添加. 在Form1和Form2窗口中各添加一个按钮,并双击添加事件处理函数: ...
- [TabControl] TabControl控件的最佳实践,可以把一个窗体和用户控件添加进来
看下效果吧<ignore_js_op> 下面是一个公共的添加方法看代码 [C#] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 1 ...
- Android 使用代码主动去调用控件的点击事件(模拟人手去触摸控件)
使用代码主动去调用控件的点击事件(模拟人手去触摸控件) //View 可以是LinearLayout,Button,TextView View.performClick();
- 类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。
错误的写法: if (this.GridView1.Rows.Count > 0) { string style = @"<style& ...
- 类型“XXX”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。
问题:类型“Grid1”的控件“XXXX”必须放在具有 runat=server 的窗体标记内. 注:Grid1为表格的ID. 查找网上的解决大致为: 1)把Grid放到<form runat= ...
随机推荐
- HTML表单(form)的“enctype”属性
Form元素的语法中,EncType表明提交数据的格式 属性值: application/x-www-form-urlencoded:在发送前编码所有字符(默认) multipart/form-dat ...
- TextView来实现跑马灯的效果
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- mysql导入大量数据时报MySQL server has gone away错误的解决办法
https://blog.csdn.net/eric520zenobia/article/details/77619469
- win10下安装pytorch,torchvision
电脑里以前安装了 tensorflow,现在因为学习需要,需要安装pytorch.还是在原来安装tensorflow的位置安装pytorch. 由于采用在线安装太慢了,而且中途还会因为网速不稳定终端! ...
- log4go的日志滚动处理——生产环境的适配
日志处理有三类使用环境,开发环境DE,测试环境TE,生产环境PE. 前两类可以看成是一类,重要的是屏幕显示--termlog.生产环境中主要用的是socklog 和 filelog,即网络传输日志和文 ...
- asp.net超过字数限制用省略号...表示
显示8个字,多于8个字, 用...表示 <asp:Repeater runat="server" ID="MsgLists"> ...
- 随tomcat启动的Servlet程序
由于需要做一定定时轮询程序,自己写了一个Servlet小程序,在Servlet里面的Init函数中做一个Timer,定时执行程序. 代码如下: public class MailStartup ex ...
- 为什么使用中间件下载时总是收到警告消息Object is in status Wait
在使用中间件从ERP下载对象时,正常情况下应该看到如下提示消息: 然而有时遇到的是黄色的警告消息:Object is in status Wait. 如何自己排错呢?在函数SMOF0_INIT_DNL ...
- SSH 学习记录及在SSH模式下使用XShell连接服务器
传统的网络服务程序,如rsh.FTP.POP和Telnet其本质上都是不安全的:因为它们在网络上用明文传送数据.用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击 ...
- linux shell中 if else以及大于、小于、等于逻辑表达式介绍
在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下, 比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注 ...