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

作者:雨中深巷的油纸伞 时间:2022-01-05 12:36:57 

本功能是在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#实现状态栏提示信息功能的示例

来源:https://blog.csdn.net/qq_25086397/article/details/80775346

标签:C#,状态栏,提示,信息
0
投稿

猜你喜欢

  • RocketMQ源码分析之Broker过期消息清理机制

    2023-06-10 15:47:43
  • Servlet3.0实现文件上传的方法

    2023-08-15 00:52:44
  • Spring Data Jpa框架最佳实践示例

    2021-11-25 00:43:01
  • Java8新特性之类型注解_动力节点Java学院整理

    2023-10-10 16:13:07
  • C#使用doggleReport生成pdf报表的方法

    2022-12-29 14:55:28
  • C# 最基础知识介绍--多态

    2022-07-10 14:34:36
  • android主线程和子线程之间消息传递详解

    2021-11-06 05:06:23
  • Java设计模式七大原则之里氏替换原则详解

    2022-05-22 13:41:10
  • Spring Boot 2.X 快速集成单元测试解析

    2023-11-11 02:45:05
  • SpringBoot 集成 activiti的示例代码

    2023-01-22 10:22:03
  • JAVA实现的简单万年历代码

    2021-10-02 21:35:34
  • 华为鸿蒙系统应用开发工具 DevEco Studio的安装和使用图文教程

    2022-09-14 05:04:23
  • springBoot Junit测试用例出现@Autowired不生效的解决

    2023-01-24 12:57:59
  • Android Loop机制中Looper与handler详细分析

    2023-01-13 04:40:56
  • Java动态代 理分析及简单实例

    2023-11-24 21:14:56
  • 详谈Java中的Object、T(泛型)、?区别

    2022-06-11 21:13:11
  • Jmeter如何添加循环控制器

    2021-06-26 20:09:52
  • Java 如何将表格数据导入word文档中

    2023-08-13 10:38:55
  • spring-boot使用AOP统一处理日志

    2023-06-09 05:12:35
  • java 使用BigDecimal进行货币金额计算的操作

    2023-12-05 23:19:34
  • asp之家 软件编程 m.aspxhome.com