1、确定基本设计思路:1、闹钟需要一个可设时间2、可修改好时间后,手动点击确认,再开始闹钟功能3、闹钟开始后可以关闭。界面布局如图
2、闹钟可设时间,一般精确到秒(s)即可。修改dateTimePicker1的显示格式属性“Format”改为自定义格式“Custom”属性“CustomFormat”格式改为“yyyy/MM/dd HH:mm:ss”
3、开始闹钟功能?需要先确定怎么“闹”,此处选择窗口抖动。窗口需要开启蠕茆崽枳闹钟功能后抖动。给按钮“点击”事件 private void button1_Click_1(object sender, EventArgs e) { SetAlarm = dateTimePicker1.Value; timer1.Interval = 100; //每100ms刷新一次计时中断 RecordX = this.Location.X; RecordY = this.Location.Y; }目的:1-记录闹钟时间 2-记录最初的坐标
4、窗口抖动实现:Point p = new Point(0, this.Locat坡纠课柩ion.Y);p.X = this.讣嘬铮篌Location.X > RecordX ? RecordX - RecordCoordinate : RecordX + RecordCoordinate;this.Location = p;通过三目运算,将窗体横坐标“this.Location.X”在点击按钮是记录的最初的坐标上,左右移动固定位移“RecordCoordinate”。
5、闹钟消除可通过点击窗体实现,但是在闹钟前不需要此功能。在闹钟生效时注册此点击事件。
6、为了趣味性可以增加背景兔脒巛钒图片。this.BackgroundImage = Image.FromFile(Application.StartupPath + @"\backpic.jpg");对界面布局的标签之类的“BackColor”属性设为“Transparent”透明状态。
7、效果演示:点击“开始”后,闹钟记录,此时点击屏幕无反应,闹钟时间到达后,屏幕左右晃动,此时点击屏幕,退出闹钟。