前往
大廳
主題

【C#】學習筆記 鬧鐘程式 準備篇 (電子時鐘)

落葉無聲 | 2012-01-17 18:29:03 | 巴幣 20 | 人氣 4620

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"));
            
            //將分號圖形給picFraction1picFraction1
            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];
        }



接下來. . .

  1. 畫桌面小鬧鐘 (PhotoShop)
  2. 畫鬧鐘按鈕 (PhotoShop)
  3. 鬧鐘主程式 (C#)



後記 (需要改善)

電子數字, 在畫出桌面小鬧鐘後, 要根據實際大小, 需要改圖一下, 有鋸齒及看不到數字間隙的問題.

下次需特別注意imageList屬性的imageSize要設定好, 要和圖形的像素大小一樣, 不然圖形會變形或壓縮到.

接著就是超級難的畫個桌面型鬧鐘了, 雖然有構思了, 但不知道自己PhotoShop的能力有沒有辦法畫的出來. . .

好像就這樣吧, 這次太順利, 感覺沒學到什麼. . .



小屋關於鬧鐘程式文章連結


2012-06-25 11:56:20
只能說每個人的專長不同囉XD 落葉哥加油!!期待你的鬧鐘~[e12]
2012-06-25 12:30:43
謝謝[e19], 希望不會又荒癈了 [e20]
2012-06-22 19:58:01
頭昏眼花了...[e11]

小星還是乖乖畫我的圖就好~
2012-06-25 10:52:54
0-0" 其實程式的部份, 對我來說, 比畫圖的部份容易很多呢~ = =畫圖超難的, 所以我都是上網找資料, 修改別人的東西, 美工對我來說太難了 [e3]
2012-06-25 10:53:35
像貼在公會上的那個時鐘就是, 找資料, 修圖我還可以, 要從無到有, 我就沒辦法了.
2012-03-02 18:15:27
[e16]
2012-03-02 18:52:11
[e12]
2012-01-18 22:00:08
加油
2012-01-19 11:30:51
[e15]
2012-01-18 13:45:32
2012-01-18 13:46:56
謝謝, 你說的對, 其實現在寫的鬧鐘, 和之前的電腦關機程式, 很多東西是應該保留給以後的程式用.