WinForm实现页面按钮定时隐藏功能

 更新时间:2017年05月18日 09:45:49   作者:何问起  
这篇文章主要介绍了WinForm实现页面按钮定时隐藏功能,结合实例形式分析了WinForm基于定时器的页面控件属性动态操作相关实现技巧,需要的朋友可以参考下

本文实例讲述了WinForm实现页面按钮定时隐藏功能。分享给大家供大家参考,具体如下:

有时候在做程序时需要将页面上某一项显示出来,然后过一段时间后消失掉,这时可以通过timer定时来实现

private void Form1_Load(object sender, EventArgs e)
{
  System.Timers.Timer t = new System.Timers.Timer(3000);
  t.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);
  t.Enabled = true;
  t.AutoReset = false;
}

然后在OnTimedEvent事件中写入相应的代码,列如:label1.Visible = false;此时会发现这两个不是同一个线程,因此我们需要用委托delegate来实现跨线程

定义一个委托

private delegate void SetVisibleCallback();
//在给label1.visible赋值的地方调用以下方法即可
private void SetVisible()
{
  // InvokeRequired需要比较调用线程ID和创建线程ID
  // 如果它们不相同则返回true
  if (this.label1.InvokeRequired)
  {
    SetVisibleCallback d = new SetVisibleCallback(SetPan);
    this.Invoke(d);
   }
   else
   {
    this.label1.Visible = false;
   }
}

此时在timer产生的事件中调用SetVisible()即可

private void OnTimedEvent(object sender, System.Timers.ElapsedEventArgs e)
{
  SetPan();
}

当然,如果不用委托实现,可以在OnTimedEvent事件中写入

CheckForIllegalCrossThreadCalls = false;////避免跨线程的问题
label1.Visible = false;

更多关于C#相关内容感兴趣的读者可查看本站专题:《WinForm控件用法总结》、《C#窗体操作技巧汇总》、《C#数据结构与算法教程》、《C#常见控件用法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结

希望本文所述对大家C#程序设计有所帮助。

相关文章

  • 深入理解C#窗体关闭事件

    深入理解C#窗体关闭事件

    很多初学者都想把默认的C#关闭按钮事件弄明白,本文就介绍一下C#窗体关闭事件,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • C#微信开发(服务器配置)

    C#微信开发(服务器配置)

    这篇文章主要介绍了C#微信开发中有关服务器配置的相关内容,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • C#关联自定义文件类型到应用程序并实现自动导入功能

    C#关联自定义文件类型到应用程序并实现自动导入功能

    今天通过本文给大家分享C#关联自定义文件类型到应用程序并实现自动导入功能,代码中写入了两个注册表,实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • c# 实现简单的串口通讯

    c# 实现简单的串口通讯

    这篇文章主要介绍了c# 如何实现简单的串口通讯,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • C# Process调用外部程序的实现

    C# Process调用外部程序的实现

    这篇文章主要介绍了C# Process调用外部程序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • C#:(变量)字段和局部变量的作用域冲突

    C#:(变量)字段和局部变量的作用域冲突

    C#:字段和局部变量的作用域冲突,需要的朋友可以参考一下
    2013-02-02
  • 详解C# 不能用于文件名的字符

    详解C# 不能用于文件名的字符

    在 Windows 有一些字符是不能作为文件名,尝试重命名一个文件,输入/ 就可以看到windows 提示的不能作为文件名的字符,那么具体是包括哪些符号不能作为文件名呢?下面小编给大家介绍下
    2018-02-02
  • 浅谈Visual Studio 2019 Vue项目的目录结构

    浅谈Visual Studio 2019 Vue项目的目录结构

    这篇文章主要介绍了Visual Studio 2019 Vue项目 目录结构,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • C#泛型概念的简介与泛型的使用

    C#泛型概念的简介与泛型的使用

    今天小编就为大家分享一篇关于C#泛型概念的简介与泛型的使用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • C#中使用@声明变量示例(逐字标识符)

    C#中使用@声明变量示例(逐字标识符)

    这篇文章主要介绍了C#中使用@声明变量示例(逐字标识符)在C#中,@符号不仅可以加在字符串常量之前,使字符串不作转义之用,还可以加在变量名之前,使变量名与关键字不冲突,这种用法称为“逐字标识符”,需要的朋友可以参考下
    2015-06-06

最新评论