c# 最小化到系统栏,时钟,随机语句,程序发布 读书笔记本 (三)
2009-12-29 11:14 撞破南墙 阅读(919) 评论(2) 编辑 收藏 举报昨晚去被同学叫去吃火锅聊天玩了。。太辣了。吃到1点多才睡。。早上睡过头了。结果不用老师翘课课了哈哈。高兴ing
补充之前的读书笔记本的功能。以后想起来也是蛮好玩的。虽然扩展性,灵活性,效率都不高。但是毕竟实现了一些功能。
不要浪费了CPU和内存条嘛。。功能至上~ let's go~~
先给大家看一下做成之后的效果图。
==========================功能描述=======================
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/
关于作者:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。