Daytip工程
来源:互联网 发布:linux 调整音量 编辑:程序博客网 时间:2024/05/16 00:36
学习一门语言的最好的方法就是多写代码,但老是抄例子也容易烦.,最好就是自己想一些小工程来做,做完了,又熟悉了语言,又能解决一些小问题,或者给生活带来乐趣.
DayTip.
思路:每天到服务器获取祝福并显示.因为属于提示类的小东西,使用notifyicon做出来比较好看.同时添加右键菜单.
部分代码:
//帮助,关于选项
private void menuItem4_Click(object sender, System.EventArgs e)
{
string strMsgInfo = "从第一个c#版的[HelloWorld]到这个[DayTip],7天时间!/r/n说掌握了一门语言有点夸张,但至少开了一个好头,也给自己打了点气:只要专心去做,就会做得精彩!/r/n好样的!!呵呵```~~/r/n/r/n本程序送给小梅子以及所有我的朋友她的朋友,祝所有人天天开心,好运相伴。/r/n有留言、祝福请email给我。";
MessageBox.Show(strMsgInfo,"天天好心情!");
}
//关闭选项
private void button3_Click(object sender, System.EventArgs e)
{
this.Close();
}
//初始化界面
private void TrayIcon_Load(object sender, System.EventArgs e)
{
GetDayBless(); //显示当日祝福
SetRightBottom(); //设置窗口位置
menuItem1_Click(sender, e); //显示窗口
hidetimer.Enabled = true; //开始隐藏计时
}
//设置程序位置在右下角
private void SetRightBottom()
{
Rectangle rt = new Rectangle();
rt = Screen.GetWorkingArea(rt);
Point ptSet = new Point(rt.Width-160, rt.Height-120);
this.DesktopLocation = ptSet;
}
//从服务器上下载祝福
private void GetDayBless()
{
//download the bless file
try{
Stream data = client.OpenRead("http://127.0.0.1/bless.txt");
StreamReader reader = new StreamReader(data);
byte[] mybyte = new byte[20*1024];
int allbyte = (int)mybyte.Length;
int startbyte = 0;
while (allbyte>0)
{
int n = data.Read(mybyte, startbyte, allbyte);
if(n == 0){
break;
}
allbyte-=n;
startbyte+=n;
}
//转换成string,在string中查找当日的祝福字串
System.Text.Encoding encoding = System.Text.Encoding.Default;
string strAllTip = encoding.GetString(mybyte);
string strTodayTip = GetTodayTip(strAllTip);
g_strTodayTip = strTodayTip; //保存当日提示
richTB.Text = strTodayTip;
data.Close();
}
catch{
return;
}
}
//查找当日祝福
private string GetTodayTip(string strAll)
{
//构造日期 05-23 的形式,注意小于10的用0补足。
int iMonth = DateTime.Today.Month;
int iDay = DateTime.Today.Day;
string TimeString = "";
TimeString = (iMonth<10)?"0"+iMonth.ToString():iMonth.ToString();
TimeString += "-"+((iDay<10)?"0"+iDay.ToString():iDay.ToString());
//寻找当日字串([05-23=xxxxxx]的形式, 以']'为结束符。)
int iIndex = strAll.IndexOf(TimeString);
int iEnd = strAll.IndexOf("]", iIndex);
string TodayTip = strAll.Substring(iIndex+6, iEnd-iIndex-6);
return TodayTip;
}
//隐藏窗口时间到(退出提示,关闭隐藏定时器)
private void hidetimer_Tick(object sender, System.EventArgs e)
{
richTB.Text = "/n/n/n程序将在一分钟后退出.";
hidetimer.Enabled = false;
exittip.Enabled = true;
}
//退出时间到(关闭退出定时器,退出程序)
private void exittimer_Tick(object sender, System.EventArgs e)
{
exittimer.Enabled = false;
this.Close();
}
//退出提示时间到(关闭提示定时器,开启退出定时器,隐藏窗口)
private void exittip_Tick(object sender, System.EventArgs e)
{
if(this.Visible)
{
this.Hide();
}
richTB.Text = g_strTodayTip;
exittip.Enabled = false;
exittimer.Enabled = true;
}
从网站上下载bess.txt文件,在内存数据流中读出[05-23=xxxxxx]形式的字串, 以']'为结束符。
程序太简单,不多说了.
- Daytip工程
- 工程
- web工程-新建工程
- GNU工程
- 逆向工程
- 需求工程???
- 工程暂缓
- GNU工程
- cleanall工程
- 需求工程
- 需求工程
- 家居装饰工程
- 工程范例
- 一卡通工程
- 工程感想
- 需求工程???
- 需求工程???
- 1104工程
- 使用ClientDataSet 时必须记住的几点
- 日本小常识100条
- 爱一个人
- [MSN谈话] 关于技术和人生道路的问题
- 明天就要上班啦,开始新的工作了。
- Daytip工程
- 股啊股
- 牛骨汤
- cleanall工程
- 《五项核心度量》笔记1-软件涉众想要什么
- JSP中IE直接关闭后如何去清SESSION的最终解决方案
- 在Linux(UBUNTU版)上安装Oracle 10g Express Edition
- GUI库
- 中国人都在上的四种当