博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
桌面倒计时2.0 涉及知识点详解及源码分享
阅读量:6567 次
发布时间:2019-06-24

本文共 3351 字,大约阅读时间需要 11 分钟。

自己开发的桌面倒计时小应用,走的是黑白简约风。(老爸提议我弄个红色加鞭炮背景的喜庆风= = 嗯,下次再说)

应用截图

        

 

特别说明:标题只能输入4个字符,可选日期范围在本机当前日期至距本机当前日期10000天的日期。

点此下载 

 


 

涉及到的一些知识点

1.保存修改后的配置 

1.选择项目右键-选择“属性”

2.在左边菜单中选择“设置”,在右边的表格中填入自己需要保存的属性的名称、类型和默认值。

     例 名称:IsBoss; 类型:bool;范围:用户; 值:False。

3.在form窗体代码页,导入命名空间 : using 项目名称.Properties

    例 你的项目名称为pro 则导入 

     using  pro.Properties;

4.任意方法中调用该值:

    this.checkBox1.Checked = Settings.Default.IsBoss;

5.在窗体的FormClosing方法中保存此值:

    Settings.Default.IsBoss = this.checkBox1.Checked;

    Settings.Default.Save();   //这句一定不能少

6.OK,这样就行了。

 

2.委托的简易使用(看原理有点晕,搜索到了这个方法,实现了效果)

资料来源http://www.cnblogs.com/pfcan66/archive/2012/09/12/2680596.html

在项目中的使用

1.点击窗体1【FrmMain】的修改按钮【btnUpdate】打开窗体2【FrmModify】

2.点击窗体2【FrmModify】的保存按钮【btnSave】关闭窗体2【FrmModify】,刷新窗体1【FrmMain】

窗体1【FrmMain】

//"修改"按钮点击事件private void btnUpdate_Click(object sender, EventArgs e){   FrmModify  frmModify= new FrmModify();   frmModify.getHandler = load;//将方法赋给委托对象   frmModify.ShowDialog();}//加载事件private void load(){ //方法}

窗体2【FrmModify】

public delegate void GetHandler();//声明委托public GetHandler getHandler;private void btnSave_Click(object sender, EventArgs e){  if (getHandler != null)  {       //其他操作    getHandler();  }}

 

3.获取日历控件MonthCalendar的选择日期

private void monthCalendar_MouseDown(object sender, MouseEventArgs e)        {           MonthCalendar.HitTestInfo hitInfo = monthCalendar.HitTest(e.Location);           if (hitInfo.HitArea == MonthCalendar.HitArea.Date)//当选择了日期后           {                txtCalendar.Text = monthCalendar.SelectionStart.ToString("yyyy-MM-dd");           }        }

更多资料-MonthCalendar的mousedown方法获得选择日期

 http://www.cnblogs.com/IT-Bear/archive/2013/01/23/2872504.html

4.透明效果“将Form的backColor设置为某色,修改transparencyKey为色” Opacity 设置透明度(某色最好不要是背景图片的颜色、控件的背景色)

5.开机自启动

资料来源 :http://www.cnblogs.com/hb_cattle/articles/1553090.html

private void AutoMenu_Click(object sender, EventArgs e)        {            string strName = Application.ExecutablePath;            string strnewName = strName.Substring(strName.LastIndexOf("\\") + 1);            if (AutoMenu.Checked)            {                //修改注册表,使程序开机时不自动执行。                  this.AutoMenu.Checked = false;                Microsoft.Win32.RegistryKey Rkey                    = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");                Rkey.DeleteValue(strnewName, false);                MessageBox.Show("程序设置完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);            }            else            {                this.AutoMenu.Checked = true;                if (!File.Exists(strName))//指定文件是否存在                      return;                Microsoft.Win32.RegistryKey Rkey                    = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);                if (Rkey == null)                    Rkey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");                Rkey.SetValue(strnewName, strName);//修改注册表,使程序开机时自动执行。                  MessageBox.Show("程序设置完成,重新启动计算机后即可生效!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);            }        }

 

6.发布exe的步骤 

属性-应用程序-程序集信息,资源-选择图标
 
shift+F6 发布后,在bin\Debug目录可以看到发布完成的exe

 

点此下载 

 


 题外话:自己做小应用就是一个享受与学习的过程。

相关资料

在线制作ico图标
应用中所有的图标来源 
c# Winform 保存修改后的配置 
C# WinForm中LinkLabel的使用 
 
开机自启动 
在MonthCalendar控件中选中日期 
 
你可能感兴趣的文章
又遇到放假
查看>>
修改git远程仓库地址
查看>>
js随笔
查看>>
子元素绝对定位absolute后,自动撑开宽度
查看>>
【权值分块】bzoj1503 [NOI2004]郁闷的出纳员
查看>>
【枚举】【二分答案】【分块答案】【BFS】【最大流】【Dinic】bzoj1189 [HNOI2007]紧急疏散evacuate...
查看>>
期末大作业
查看>>
ThreadLocal
查看>>
第一次作业-准备篇
查看>>
cnzz统计代码引起的Bad Request - Request Too Long
查看>>
MinGW安装与使用简介
查看>>
Sublime Text 3 遇到的一些小坑的解决方法
查看>>
JSP之9大对象
查看>>
sql 递归查询
查看>>
KMP C++
查看>>
HDU1506 Largest Rectangle in a Histogram(算竞进阶习题)
查看>>
HTTP响应状态码
查看>>
crushmap磁盘智能分组
查看>>
《算法导论》读书笔记--第三章 函数的增长
查看>>
《利用python进行数据分析》读书笔记--第八章 绘图和可视化
查看>>