zoukankan      html  css  js  c++  java
  • NotifyICon使用

    2010-04-11 15:47 by Ju2ender, 1438 visits, 网摘, 收藏, 编辑

    最常见使用NotifyIcon的程序就是QQ了,当初我非常好奇这通知区域的小企鹅是怎样随着QQ的执行放上去的,这的确是个有趣的技巧。

     

    要是用到自己的程序上的确显得非常专业!我们来为自己的小程序也加入个 : )

     

    上面是Demo的效果,还能够吧 : )

    首先我们创建一个WinForm项目,我起名叫“NotifyIconTest”:

    删除默认创建的Form1,加入新窗口Main;新建一个目录,里面放入你喜欢的Icon(图片须为ico图像),这里我放入的是Gateway的Icon。

    以下,在窗口中放入一个TextBox,一个Button,我起名叫btnShow。TextBox用于输入将放入提示气泡中的信息,Button用于将输入的信息显示出来。接着放入我们的主角:NotifyIcon控件,一般它位于公共控件中:

    双击,将它增加我们的项目,这时它会放入设计视图的左下角。我们来看看它有哪些属性(不经常使用的就不说明了):

    BalloonTipIcon —— 气泡提示的类型,有None(无)、Info(蓝色感叹号)、Warnning(黄色感叹号)、Error(小红叉);

    BalloonTipText —— 气泡提示的内容,如上图的None等气泡类型信息;

    BalloonTipTitle —— 气泡提示的标题,如上图的Tip;

    ContextMenuStrip —— 绑定的右键菜单;

    Icon —— 所显示的图标;

    Text —— 鼠标移上去时,显示的提示信息;

    Visible —— 是否显示图标,当然,不显示就看不到了。

    那么如今我们在Show Button的Click事件中加入例如以下代码:

    private void btnShow_Click(object sender, EventArgs e)
    {
        string tipText = this.txtText.Text.Trim() == "" ? "No text!" : this.txtText.Text.Trim();
        this.notifyIcon.ShowBalloonTip(1000, "Tip", tipText, ToolTipIcon.Info);
    }

    首先推断了TextBox中是否有信息,无则提示“No Text!”,有则显示信息。使用NofifyIcon的ShowBalloonTip()(显示气泡提示)方法将输入的信息显示出来,第一个參数是信息显示的时间,以毫秒为单位;第二个是BalloonTipTitle;第三个是BalloonTipText;第四个是BalloonTipIcon。

    为了显示提示更方便,不如在输入信息后按下回车就显示信息。做法是在窗口的属性中找到AcceptButton:

    它的作用就是窗口的接受button,也就是与回车相应的button。将它设置为Show Button。另外还有个CancelButton属性;

    它表示关闭该窗口的button,与Esc键相相应。

    为了更像那么回事儿,我们再为图标加个右键菜单:

    为它输入几个项目,我为它加了6个项目,当中一个是ComboBox、一个是TextBox:

    然后,将它绑定到NofifyIcon的ContextMenuStrip属性上。

    完毕了,我们来看看效果:

    点击这里下载上面的演示样例NotifyIconTest。

    以下是应一楼的朋友写的仿QQ提示框的Demo:

    仅仅是粗略的实现了下,有待进一步优化,点击这里下载改变后的演示样例。

  • 相关阅读:
    字符串 CSV解析 表格 逗号分隔值 通讯录 电话簿 MD
    Context Application 使用总结 MD
    RxJava RxPermissions 动态权限 简介 原理 案例 MD
    Luban 鲁班 图片压缩 MD
    FileProvider N 7.0 升级 安装APK 选择文件 拍照 临时权限 MD
    组件化 得到 DDComponent JIMU 模块 插件 MD
    gradlew 命令行 build 调试 构建错误 Manifest merger failed MD
    protobuf Protocol Buffers 简介 案例 MD
    ORM数据库框架 SQLite 常用数据库框架比较 MD
    [工具配置]requirejs 多页面,多入口js文件打包总结
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4278806.html
Copyright © 2011-2022 走看看