代码改变世界

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

2009-12-29 11:14  撞破南墙  阅读(919)  评论(2编辑  收藏  举报

昨晚去被同学叫去吃火锅聊天玩了。。太辣了。吃到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

 

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