只能說每個人的專長不同囉XD 落葉哥加油!!期待你的鬧鐘~[e12]
C#學習筆記 鬧鐘程式 準備篇 (電子時鐘)
和原來預測的一樣, 做個電子時鐘很快就好了啊! (滿足) 大概是因為主要程式在之前寫電腦定時關機時都寫過的關係吧!
和原來預測的一樣, 做個電子時鐘很快就好了啊! (滿足) 大概是因為主要程式在之前寫電腦定時關機時都寫過的關係吧!
這次主要的目的, 是看能不能在C#下用Timer跑圖形, 基本上算是成功. 但, 當然也有遇到些問題, 需要後面在來改進, 就先標在"後記"了, 不過都不是程式的問題.
一個電子時鐘的測試, 跑起來就像下圖一樣
說明及程式碼
private void frmDigitalClock_Load(object sender, EventArgs e)
{
//設定背景顏色 R G B (10進位)
System.Drawing.Color BackColor =System.Drawing.Color.FromArgb(160, 185, 155);
this.BackColor =BackColor;
//將每一個數字的圖形放在imageList1
imageList1.Images.Add(Image.FromFile("0.gif"));
imageList1.Images.Add(Image.FromFile("1.gif"));
imageList1.Images.Add(Image.FromFile("2.gif"));
imageList1.Images.Add(Image.FromFile("3.gif"));
imageList1.Images.Add(Image.FromFile("4.gif"));
imageList1.Images.Add(Image.FromFile("5.gif"));
imageList1.Images.Add(Image.FromFile("6.gif"));
imageList1.Images.Add(Image.FromFile("7.gif"));
imageList1.Images.Add(Image.FromFile("8.gif"));
imageList1.Images.Add(Image.FromFile("9.gif"));
//分號的圖形在imageList2
imageList2.Images.Add(Image.FromFile("fraction.gif"));
//將分號圖形給picFraction1和picFraction1
picFraction1.Image =imageList2.Images[0];
picFraction2.Image =imageList2.Images[0];
//FormLoad enable timer1
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
//將秒分時的每一個位數算出來, 在帶入imageList1.Image[ ]
// (%) 取餘數 (/) 取整數
int s1 = DateTime.Now.Second % 10;
int s2 = DateTime.Now.Second / 10;
int m1 = DateTime.Now.Minute % 10;
int m2 = DateTime.Now.Minute / 10;
int h1 = DateTime.Now.Hour % 10;
int h2 = DateTime.Now.Hour / 10;
picS1.Image =imageList1.Images[s1];
picS2.Image =imageList1.Images[s2];
picM1.Image =imageList1.Images[m1];
picM2.Image =imageList1.Images[m2];
picH1.Image =imageList1.Images[h1];
picH2.Image =imageList1.Images[h2];
}
接下來. . .
- 畫桌面小鬧鐘 (PhotoShop)
- 畫鬧鐘按鈕 (PhotoShop)
- 鬧鐘主程式 (C#)
後記 (需要改善)
電子數字, 在畫出桌面小鬧鐘後, 要根據實際大小, 需要改圖一下, 有鋸齒及看不到數字間隙的問題.
下次需特別注意imageList屬性的imageSize要設定好, 要和圖形的像素大小一樣, 不然圖形會變形或壓縮到.
接著就是超級難的畫個桌面型鬧鐘了, 雖然有構思了, 但不知道自己PhotoShop的能力有沒有辦法畫的出來. . .
好像就這樣吧, 這次太順利, 感覺沒學到什麼. . .
小屋關於鬧鐘程式文章連結
