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
投稿

猜你喜欢

  • SpringBoot配置及使用Schedule过程解析

    2021-12-31 18:47:32
  • 详解C#中的字符串拼接@ $

    2021-07-10 13:13:41
  • 详解Android Studio无法检测新版本问题解决

    2021-08-01 08:45:05
  • Java Validation方法入参校验实现过程解析

    2021-08-04 03:31:50
  • java实现二叉树遍历的三种方式

    2021-12-03 06:11:51
  • C# Winform实现进度条显示

    2023-09-14 15:47:51
  • 如何解决Java多线程死锁问题

    2022-08-11 15:51:02
  • Java 程序员掌握 Spring Boot非常有必要

    2021-06-27 19:06:52
  • stream中使用peek一些陷阱避免及解决方法

    2021-09-02 20:58:21
  • IDEA实现JDBC的操作步骤

    2021-08-29 11:08:55
  • 关于Future机制原理及解析

    2022-01-23 03:57:48
  • SpringBoot中使用多线程的方法示例

    2021-05-24 19:56:04
  • Android ListView的Item点击效果的定制

    2023-06-21 11:46:01
  • 深入浅析Java中普通代码块、构造代码块与静态代码块

    2023-04-14 15:16:35
  • C#使用StopWatch获取程序毫秒级执行时间的方法

    2023-12-21 02:44:06
  • java request.getHeader("user-agent")获取浏览器信息的方法

    2022-05-28 01:04:26
  • Java对象在JVM中的生命周期详解

    2023-11-24 16:15:03
  • Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)

    2023-08-06 01:01:56
  • java实现word文档转pdf并添加水印的方法详解

    2023-05-26 02:59:18
  • Android UI设计系列之自定义TextView属性实现带下划线的文本框(4)

    2022-08-11 11:03:29
  • asp之家 软件编程 m.aspxhome.com