首先一個程式第一要素是logo
在設定裡面可以設定程式圖示,在icon裡設定。
icon圖示可以在網上下載下傳。
這些都是表面功夫
程式中涉及到buton、label、timer、notiflcon控件
button按鈕控件,可以設計點選事件
如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<code>private</code> <code>void</code> <code>button1_click(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>{</code>
<code> </code><code>// int shi, fen, miao;</code>
<code> </code><code>if</code> <code>(flag_true == 0)</code>
<code> </code><code>{</code>
<code> </code><code>flag_true = 1;</code>
<code> </code><code>}</code>
<code> </code><code>else</code>
<code> </code><code>button1.text =</code><code>"确定"</code><code>;</code>
<code> </code><code>label6.text =</code><code>" "</code><code>;</code>
<code> </code><code>label7.text =</code><code>" "</code><code>;</code>
<code> </code><code>label5.text =</code><code>" "</code><code>;</code>
<code> </code><code>//label1.text = "定時關機設定";</code>
<code> </code><code>flag_true = 0;</code>
<code> </code><code>shi = (</code><code>int</code><code>)numericupdown3.value;</code>
<code> </code><code>fen = (</code><code>int</code><code>)numericupdown2.value;</code>
<code> </code><code>miao = (</code><code>int</code><code>)numericupdown1.value;</code>
<code> </code><code>time_set = shi * 3600 + fen * 60 + miao;</code>
<code> </code><code>}</code>
label控件操作簡單
能夠顯示字元,并且其成員有text,可以随時更改文本
timer控件相當于嵌入式中的定時器,在屬性中行為一欄中設定enable 并且設定interval時間間隔500就是半秒。
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<code>private</code> <code>void</code> <code>timer1_tick(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>int32 time_now;</code>
<code> </code><code>int32 extra;</code>
<code> </code><code>if</code> <code>(flag_true == 1)</code>
<code> </code><code>if</code> <code>(datetime.now.minute == fen && datetime.now.hour == shi && datetime.now.second == miao)</code>
<code> </code><code>{</code>
<code> </code><code>button1.text =</code><code>"取消"</code><code>;</code>
<code> </code><code>label6.text =</code><code>"剩餘關機時間"</code><code>;</code>
<code> </code><code>label7.text =</code><code>"秒"</code><code>;</code>
<code> </code><code>label5.text =</code><code>"0"</code><code>;</code>
<code> </code><code>system.diagnostics.process.start(</code><code>"shutdown"</code><code>,</code><code>"-s -t 0"</code><code>);</code><code>//關機程式</code>
<code> </code><code>}</code><code>//shutdown</code>
<code> </code><code>else</code>
<code> </code><code>time_now = datetime.now.second + datetime.now.minute * 60 + datetime.now.hour * 3600;</code>
<code> </code><code>extra = time_set - time_now;</code>
<code> </code><code>if</code> <code>(extra > 0)</code>
<code> </code><code>{</code>
<code> </code><code>button1.text =</code><code>"取消"</code><code>;</code>
<code> </code><code>label6.text =</code><code>"剩餘關機時間"</code><code>;</code>
<code> </code><code>label7.text =</code><code>"秒"</code><code>;</code>
<code> </code><code>//extra/3600</code>
<code> </code><code>label5.text = extra.tostring();</code>
<code> </code><code>}</code>
<code> </code><code>else</code>
<code> </code><code>flag_true = 0;</code>
<code> </code>
<code> </code>
<code> </code><code>}</code>
上面我每隔半秒進入中斷一次,判斷,如果已經設定過定時關機,就判斷是否到達關機時間,并顯示還剩多少秒關機。如果沒有設定定時關機,就不顯示。
其中button1和label的text都可以随時更改。
基本功能設定完成
接下來還有一個最小化到托盤的設定
用到notiflcon控件
此控件設定最小化圖示,在設定裡可以設定icon圖示。
他帶有的事件有滑鼠單擊,滑鼠輕按兩下,單擊,輕按兩下。
<code>private</code> <code>void</code> <code>notifyicon1_mouseclick(</code><code>object</code> <code>sender, mouseeventargs e)</code>
<code> </code><code>this</code><code>.visible =</code><code>true</code><code>;</code>
<code> </code><code>this</code><code>.windowstate = formwindowstate.normal;</code>
<code> </code><code>this</code><code>.notifyicon1.visible =</code><code>false</code><code>;</code>
上述我設定了滑鼠單擊,代碼裡是恢複可視化,正常視窗。
再之得設定程式最小化時隐藏在下邊
<code>private</code> <code>void</code> <code>form1_sizechanged(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>if</code> <code>(</code><code>this</code><code>.windowstate == formwindowstate.minimized)</code>
<code> </code><code>this</code><code>.hide();</code>
<code> </code><code>this</code><code>.notifyicon1.visible =</code><code>true</code><code>;</code>
上述就是一個關機程式,自己做着玩的。。
整體構架如下圖所示。
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<code>namespace</code> <code>關機任務管理v1._0</code>
<code>{</code>
<code> </code><code>public</code> <code>partial</code> <code>class</code> <code>form1 : form</code>
<code> </code><code>{</code>
<code> </code><code>int</code> <code>shi, fen, miao;</code>
<code> </code><code>int32 time_set;</code>
<code> </code><code>int</code> <code>flag_true = 0;</code>
<code> </code><code>public</code> <code>form1()</code>
<code> </code>
<code> </code><code>initializecomponent();</code>
<code> </code><code>private</code> <code>void</code> <code>form1_load(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>private</code> <code>void</code> <code>numericupdown1_valuechanged(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>if</code> <code>(numericupdown1.value == -1)</code>
<code> </code><code>numericupdown1.value = 60;</code>
<code> </code><code>else</code> <code>if</code> <code>(numericupdown1.value == 61)</code>
<code> </code><code>numericupdown1.value = 0;</code>
<code> </code><code>private</code> <code>void</code> <code>numericupdown2_valuechanged(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>if</code> <code>(numericupdown2.value == -1)</code>
<code> </code><code>numericupdown2.value = 60;</code>
<code> </code><code>else</code> <code>if</code> <code>(numericupdown2.value == 61)</code>
<code> </code><code>numericupdown2.value = 0;</code>
<code> </code>
<code> </code><code>private</code> <code>void</code> <code>numericupdown3_valuechanged(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>if</code> <code>(numericupdown3.value == 25)</code>
<code> </code><code>numericupdown3.value = 0;</code>
<code> </code><code>else</code> <code>if</code> <code>(numericupdown3.value == -1)</code>
<code> </code><code>numericupdown3.value = 24;</code>
<code> </code><code>private</code> <code>void</code> <code>button1_click(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>private</code> <code>void</code> <code>timer1_tick(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>private</code> <code>void</code> <code>label5_click(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>private</code> <code>void</code> <code>label4_click(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>private</code> <code>void</code> <code>label3_click(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>private</code> <code>void</code> <code>label6_click(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>private</code> <code>void</code> <code>notifyicon1_mouseclick(</code><code>object</code> <code>sender, mouseeventargs e)</code>
<code> </code><code>//最小化代碼</code>
<code> </code><code>private</code> <code>void</code> <code>form1_sizechanged(</code><code>object</code> <code>sender, eventargs e)</code>
<code> </code><code>}</code>
<code>}</code>
界面如下:
作者:刁鑽的遊戲
來源:51cto