c#經典編程實例(六定時器Timer和工具條和父窗體和子窗體的創建)

一:首先先看一個簡單的例子,就是倒計時

在工具箱中 的組件中選取Timer點擊設置,重點是enable的設置



代碼如下:

 int n = 10;
        private void timer1_Tick(object sender, EventArgs e)
        {
            n--;
            label1.Text = n.ToString();
            if (n <= 0)
              timer1.Enabled = false;
           
        }

private void button1_Click_1(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }

運行圖如下:


二:例:導彈發射
窗體底部,有個“發射”按鈕,旁邊一個PictureBox放一個導彈圖片。
點擊“開始”,從10開始倒計時。
倒計時到0時,導彈開始向上移動,直到移出窗體。
用到的知識:
控件的Left屬性表示橫座標,Top屬性表示縱座標

代碼如下;
 int n = 10;
        private void timer1_Tick(object sender, EventArgs e)
        { 
            n--;
         
            label1.Text = n.ToString();
            if (n == 0)
            {
                timer1.Enabled = false;
                timer2.Enabled = true;
            }

        }

private void timer2_Tick(object sender, EventArgs e)
        {
            pictureBox1.Top -= 10;
            if (pictureBox1.Top <= 0)
                timer2.Enabled = false;
        }

發射:
  private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }



三:工具條ToolStrip

用於在窗體(通常是頂部)顯示工具欄。
是一個容器,其中可包含多個工具欄按鈕等控件。
常用屬性:
ImageScalingSize  工具條上按鈕圖片縮放尺寸

工具條按鈕的常用屬性和事件

屬性

說明

DisplayStyle

設置圖像和文本的顯示方式(只顯示圖片、只顯示文本、同時顯示圖片和文本)

Image

按鈕上顯示的圖片

Text

按鈕上顯示的文本

事件

說明

Click

單擊按鈕時,觸發該事件

工具條

例:設計一個服務器工具條,上有4個按鈕:啓動/繼續、暫停、停止、退出
按鈕同時顯示文字和圖片
圖片縮放成32個像素大小
各個按鈕之間要實現互斥邏輯關係:即服務啓動以後,啓動按鈕不可用,暫停、停止可用。停止後,停止、暫停不可用,啓動可用。退出按鈕永遠可用。
d

代碼如下:

  private void Form1_Load(object sender, EventArgs e)
        {
            toolStripButton1.Enabled = true;
            toolStripButton2.Enabled = false;
            toolStripButton3.Enabled = false;

        }

 private void toolStripButton1_Click(object sender, EventArgs e)
        {
            toolStripButton1.Enabled = false; 
            toolStripButton2.Enabled = true;
            toolStripButton3.Enabled = true;
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            toolStripButton1.Enabled = true;
            toolStripButton2.Enabled = false;
            toolStripButton3.Enabled = false;
        }

        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            toolStripButton1.Enabled = true;
            toolStripButton2.Enabled = false;
            toolStripButton3.Enabled = false;
        }

狀態條StatusStrip

狀態條StatusStrip與工具條ToolStrip類似,但通常裏面包含Label而非Button。
例:在狀態條上顯示當前時間,並實時刷新

四:怎樣創建MDI



MDI程序示例

學生管理程序
主窗體MainForm
添加學生子窗體AddStudent
學生列表子窗體StudentList
通過菜單打開子窗體



父窗體和子窗體設置如下:

  private void firstToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2();
            f.MdiParent = this;
            f.Show();
        }

        private void secondToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form3 f = new Form3();
            f.MdiParent = this;
            f.Show();
        }





發佈了146 篇原創文章 · 獲贊 149 · 訪問量 73萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章