zoukankan      html  css  js  c++  java
  • c# 最小化到系统栏,时钟,随机语句,程序发布 读书笔记本 (三)

    昨晚去被同学叫去吃火锅聊天玩了。。太辣了。吃到1点多才睡。。早上睡过头了。结果不用老师翘课课了哈哈。高兴ing

    补充之前的读书笔记本的功能。以后想起来也是蛮好玩的。虽然扩展性,灵活性,效率都不高。但是毕竟实现了一些功能。

    不要浪费了CPU和内存条嘛。。功能至上~  let's go~~

    先给大家看一下做成之后的效果图。

    图片1

    ==========================功能描述=======================

    1.最小化到系统栏,双击系统栏图标的时候恢复。

    2.在笔记本上显示时间。(可以扩展成定时任务。)

    3.随机在一个地方显示 变动 的名言警句。

    4.程序发布打包

    ======================================================

    1.这里使用到的是FormWindowState 和  这个程序的 Visible 这个属性。

    代码
    //双击的时候 切换
    private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e)
    {
    //当双击系统栏的图标的时候 如果 没有 窗口就显示 ,有的话就 隐藏
    if (WindowState == FormWindowState.Normal)
    {
    WindowState
    = FormWindowState.Minimized;
    this.Visible = false;
    }
    else
    {
    this.Visible = true;
    WindowState
    = FormWindowState.Normal;
    }
    }
    //最小化到系统栏并显示 系统托盘 图片
    private void minToolStripMenuItem_Click(object sender, EventArgs e)
    {
    WindowState
    = FormWindowState.Minimized;
    this.Visible = false;

    ShowXiTongLanIcon(
    "已经最小话到系统托盘。恢复请双击。");
    }
    系统栏托盘显示函数
    public void ShowXiTongLanIcon(string text)
    {
    notifyIcon.BalloonTipText
    = text;// "您的余额已不足。如想继续上机请交费。";
    notifyIcon.Icon =
    new System.Drawing.Icon(Notepath + "icon.ico");//设置托盘显示的图标 也 可以 在控件上指定。
    notifyIcon.Visible = true;//是否可见
    notifyIcon.BalloonTipTitle = "BalloonTipTitle";//标题
    notifyIcon.Text = "读书笔记本1.0";//当鼠标移动去的时候显示的字
    notifyIcon.ShowBalloonTip(500);//显示的时间

    2.这个我用的是 timer 组件。

     开始计时 一秒执行一次。

    ShowTime是一个函数。
    private void button3_Click(object sender, EventArgs e)
    {
    timer.Tick
    += ShowTime;
    timer.Start();
    timer.Interval
    = 1000; //1000 一 秒

    }

    3.第三个所用到的知识 就是读取和一个随机。之前有说过的。但是却实用。具体参见代码。

    代码
    private void showTextToolStripMenuItem_Click(object sender, EventArgs e)
    {
    if (openFileDialog.ShowDialog() != DialogResult.OK) return;

    //读出 文章放进一个 数组 随机 出现一条
    string lineContent = string.Empty;
    FavouriteWords.Clear();
    using (StreamReader streamReader = new StreamReader(openFileDialog.FileName))
    {
    while ((lineContent = streamReader.ReadLine()) != null)
    {
    if (lineContent.Trim() != "")
    {
    FavouriteWords.Add(lineContent);
    }

    }
    }
    TimeOpter();

    }


    private void TimeOpter()
    {
    timer_words.Tick
    += RandomWords;
    timer_words.Start();
    timer_words.Interval
    = 80000; //1000 一 秒
    }

    ===============================================================

    4. 需要注意的几点:

    这里参见C#如何为winform程序打包发布应用(图解) http://www.vegoo.net/info/71620_5075.html

    郁闷的是这样生产的程序是需要下载 组件的,我在想怎么把组件 集成进程序,检测安装了。免得下载那么麻烦。

    谁知道的留下言。

    ====================

    gameover~

    代码下载   https://files.cnblogs.com/facingwaller/NoteBook1229.rar

    就到这里先吧。  得准备期末考试了,郁闷啊。。。。


    作者:撞破南墙
    出处:http://www.cnblogs.com/facingwaller/
    关于作者:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1
    慕学生鲜xadmin登录不成功解决办法
    mysql删除后ID不连续解决办法
    Mac 安装gevent
    ubuntu 下 docker的简单使用
    python 字典的一些简单操作
    列表推导式
    Serializer字段和选项
    添加包解决一些导包问题
    css 文本换行,文本空白符处理相关 属性:white-space word-wrap word-break
  • 原文地址:https://www.cnblogs.com/facingwaller/p/1634785.html
Copyright © 2011-2022 走看看