• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > CnClock桌面时钟-Winform小程序开发

CnClock桌面时钟-Winform小程序开发

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-11-30

匿名通过本文主要向大家介绍了C#,Winform等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
过年回家也上不了网,前两天闲得无聊就自己研究了一个小程序。先看一下程序的界面:

界面一:

CnClock桌面时钟-Winform小程序开发

界面二:

CnClock桌面时钟-Winform小程序开发

这个小程序大概用了一天多的时间编写出来,功能比较简单,该程序具有的功能:

1.可以显示日期,当前时间,星期,农历。

2.程序可以吸附在桌面上,实现嵌入桌面的效果。

3.可以设置程序为开机自启动。

下面贴出部分主要代码:

//设置吸附桌面功能 
 private void 吸附桌面ToolStripMenuItem_CheckStateChanged(object sender, EventArgs e) 
 ...{ 
 //默认为勾选状态(吸附桌面),点击后即触发该事件,“吸附桌面”项勾掉了,则变量ischecked为!ischecked(false), 
 //则可以移动窗体。再次点击该菜单项,ischecked为!ischecked(true),则不能移动窗体。 
 //checkstate发生变化 
 ischecked = !ischecked; 
 if (ischecked == true) 
 ...{ 
 勾选但不移动的处理#region 勾选但不移动的处理(如果用户勾选了该项,但是并没有移动程序的位置,则进行该项判断)
 //2012年1月31日0:27:44 解决思路: 
 //先判断ini文件是否存在,如果是第一次启动程序或ini文件丢失,则无ini文件, 
 //则没有上次保存的ini配置信息,不进行读取操作,否则 
 //先从ini文件中读取上次设定的x,y的坐标值,作为old_x,old_y。再将新的坐标值与旧的 
 //坐标值进行比较,如果窗体移动了,则比较后不同,进行写入ini操作,否则不写入 
 
 if (File.Exists(pathbase + "CnClock.ini")) 
 ...{ 
 try 
 ...{ 
 StreamReader sr = new StreamReader(pathbase + "CnClock.ini", Encoding.GetEncoding("gb2312")); 
 if (sr.Peek() >= 0) 
 ...{ 
 old_x = Convert.ToInt32(sr.ReadLine()); 
 old_y = Convert.ToInt32(sr.ReadLine()); 
 } 
 sr.Close(); 
 } 
 catch (Exception ex) 
 ...{ 
 MessageBox.Show(ex.Message.ToString()); 
 } 
 } 
 #endregion 
 //2012年1月30日22:34:43,又想到一个新问题:如果用户勾选了“吸附桌面”项后,没有移动该窗体的位置, 
 //这种情况下是否要判断一下新位置与原位置是否相同??? 经考虑,需设定! 
 //2012年1月31日0:21:04 设置完成,代码见 #勾选但不移动的处理 部分 
 
 //什么时候才会执行下面这句代码“yidong = false;” 呢? 
 //分析:在form_load时不会执行,只有当用户移动窗体后,再选中"吸附桌面"项后才会执行 
 //这句代码,所以这里才是控制什么时候将新的位置坐标写入ini文件的地方,在这句下面写相应代码 
 yidong = false; 
 
 
 //如果用户勾掉了“吸附桌面”选项,则窗体可以移动,待用户确定新位置后, 
 //如果用户不勾上“吸附桌面”菜单项,则不记录新位置坐标,否则将新位置的坐标写入ini配置文件中。 
 try 
 ...{ 
 //获取窗体移动后的坐标(_x,_y) 
 _x = this.Location.X; 
 _y = this.Location.Y; 
 //勾选但不移动的处理(部分代码) 
 xin_x = this.Location.X; 
 xin_y = this.Location.Y; 
 
 //相或,一真为真。即如果x不同或y不同或两个都不同,则说明窗体位置发生变化了 
 //须执行写入操作 
 //勾选但不移动的处理(部分代码) 
 if (!(xin_x == old_x) || !(xin_y == old_y)) 
 ...{ 
 StreamWriter sw = new StreamWriter(pathbase + "CnClock.ini", false, Encoding.GetEncoding("gb2312")); 
 sw.Flush(); 
 sw.WriteLine(_x); 
 sw.WriteLine(_y); 
 sw.Close(); 
 //新位置确认后给予提示 
 this.notifyIcon1.ShowBalloonTip(5, "CnClock提示", "新位置已设定!", ToolTipIcon.Info); 
 } 
 } 
 catch (Exception ex) 
 ...{ 
 MessageBox.Show(ex.Message.ToString()); 
 } 
 } 
 else 
 ...{ 
 yidong = true; 
 } 
 }
 
 
 
 设置开机自启动功能:

 
 
  

//设置开机启动功能 
 private void 开机启动ToolStripMenuItem_CheckStateChanged(object sender, EventArgs e) 
 ...{ 
 /*设计思路: 2012年1月31日16:00:47完成 
 * 默认开机启动,则在form_load中先执行一下设置autorun方法。 
 * 用户勾掉“开机启动”项后,则取消autorun,用户勾选“开机启动”项后,则设置autorun。 
 */ 
 //初始为开机启动,则isautorun初始为true,当用户点击该项后,isautorun为false,不开机启动。 
 isautorun = !isautorun; 
 if (isautorun == true) 
 ...{ 
 //isautorun为true,开机启动 
 auToRun.SetAutoRun(Application.ExecutablePath, true); 
 //设置为开机启动后给予提示 
 this.notifyIcon1.ShowBalloonTip(5, "CnClock提示", "开机启动已设定!", ToolTipIcon.Info); 
 } 
 else 
 ...{ 
 //isautorun为false,开机不启动 
 auToRun.SetAutoRun(Application.ExecutablePath, false); 
 //设置为开机不启动后给予提示 
 this.notifyIcon1.ShowBalloonTip(5, "CnClock提示", "已关闭开机启动!", ToolTipIcon.Info); 
 } 
 }
 
 
 
 
程序下载地址:CnClock1.0版:http://dl.dbank.com/c0qbry08qv
            CnClock2.0版:http://dl.dbank.com/c0m78h7dty
            如果以上页面无法下载可到下面页面下载:http://www.kuaipan.cn/index.php?ac=file&oid=5028779638390791
 
 
说明:两个版本的区别是1.0版是方形显示的,2.0版是条形显示的(见文首图片)。
 
该程序需要.net Framework2.0或以上版本支持。

目前发现的一个小问题:


在程序选择是否支持开机启动时,要操作注册表。如果用户电脑上装有360安全卫士或QQ电脑管家等管理软件,会弹出提示信息。如果用户选择了不允许操作注册表,则程序弹出异常提示,注册表信息不会写入,但写入正确的气泡提示信息还会弹出来。这个地方还需要修改一下。

更多CnClock桌面时钟-Winform小程序开发 相关文章请关注微课江湖!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信小程序服务端获取用户解密信息的方法
  • [C#小程序]命令行小程序之你要买大杯小杯还是中杯的实现代码
  • [C#小程序]命令行小程序之小九九乘法表的实现代码
  • 利用C#实现定时小程序代码分享
  • 基于C#实现简单的随机抽奖小程序实例代码
  • CnClock桌面时钟-Winform小程序开发

相关文章

  • 2018-11-30实例讲解微信小程序异步处理方法
  • 2018-11-30小程序游戏开发之扎金花
  • 2018-11-30微信小程序开发怎样编写代码
  • 2018-11-30微信小程序页面跳转与返回并回传数据
  • 2018-11-30微信小程序关于组件的hidden属性的使用建议
  • 2018-11-30JS、php关键字搜索函数使用详解
  • 2018-11-30分享微信小程序欢迎界面开发的实例代码
  • 2018-11-30处理swiper无法显示图片的问题
  • 2018-11-30微信小程序实现一对多发消息
  • 2018-11-30微信小程序用户自定义模版的功能实现

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信小程序开发之http请求
    • 最简单的微信小程序Demo
    • 微信小程序之自定义toast实例详解
    • 微信小程序内怎样增加和后台客服联系功能
    • 微信小程序实现左滑删除效果代码展示
    • 微信小程序中关于三级联动地址选择器的实例分享
    • 微信小程序之关于联网请求的轮播图详解
    • 微信小程序个人怎么注册?
    • 微信小程序视图容器 view
    • 微信小程序开发

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有