欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现状态栏提示信息功能的示例

程序员文章站 2023-03-01 12:58:29
本功能是在winform平台上实现的,其他平台大同小异,不多做介绍。 1.首先创建一个测试用winform窗体 2.在winform窗体上添加一个notifyico...

本功能是在winform平台上实现的,其他平台大同小异,不多做介绍。

1.首先创建一个测试用winform窗体

C#实现状态栏提示信息功能的示例

2.在winform窗体上添加一个notifyicon控件

C#实现状态栏提示信息功能的示例

然后设置notifyicon属性,可自行修改其name属性,本文中name属性为notifyicon1,注意此时点击查看contextmenustrip属性时显示的是无,所以我们还需要添加一个contextmenustrip控件

C#实现状态栏提示信息功能的示例

此时再去查看notifyicon1中的contextmenustrip的属性时发现里面会有新添加的对应的contextmenustrip的控件,选中。

然后设置icon属性(必须设置,否则状态栏中无法显示),设置icon其实就是添加以.ico类型的图片。所以需要提前下载好图片,如果想要实现闪烁的效果,最少需要两个图片。本文中使用的图片网址为:https://www.easyicon.net/iconsearch/*.ico/

最后将notifyicon1的visible属性设置为true。

3.contextmenustrip控件属性设置

选中contextmenustrip控件,查看其items属性,初始为空,这个是用来设置notifyicon显示后的图片的邮件菜单的。

点击items,进行设置

C#实现状态栏提示信息功能的示例

本文中使用的都是menuitem,其他三种可自行实验。点击添加按钮如图可添加toolstripmenuitem1,右侧可设置其属性,按照自身的要求修改即可,本文中只修改了其text属性。

4.代码实现

    private icon blank = new icon("icon/b.ico");//新建一个ico图片的对象以供下面实现闪烁的效果
    private icon normal = new icon("icon/c.ico");

    private bool satus = true;

    private void lims_bh_assetsmanagement_load(object sender, eventargs e)
    {//页面加载时实现信息提示的功能。
      this.notifyicon1.showballoontip(60,"警告","有设备需要维修",tooltipicon.warning);

    }

C#实现状态栏提示信息功能的示例

还可以设置notifyicon的双击效果,本文中效果是双击使窗体最大化

private void notifyicon1_mousedoubleclick(object sender, mouseeventargs e)
    {//showintaskbar设置是否在任务栏中显示
      if (windowstate == formwindowstate.normal)
      {
        this.windowstate = formwindowstate.maximized;
      }

    }

5.notifyicon邮件菜单功能

以隐藏功能为例

private void toolstripmenuitem2_click(object sender, eventargs e)
    {//隐藏
      this.notifyicon1.visible = false;

    }

状态栏显示效果

C#实现状态栏提示信息功能的示例

6.闪烁效果

为实现闪烁效果,本文中使用了timer控件

代码实现

 private void timer1_tick(object sender, eventargs e)
    {
      if (satus)
        notifyicon1.icon = normal;
      else
        notifyicon1.icon = blank;
      satus = !satus;

    }

可在timer控件中设置其闪烁间隔周期。

本文中所使用的两个图片

C#实现状态栏提示信息功能的示例

以上这篇c#实现状态栏提示信息功能的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。