【226】C# 相關功能實現代碼

目錄:程序員

  1. 實現代碼的等待操做數組

  2. 實現文件夾/文件打開操做函數

  3. 創建事件模板,而後調用this

  4. 用代碼在Form中寫控件,同時能夠編寫控件數組spa

  5. 用代碼執行事件firefox


  1. 實現代碼的等待操做

  System.Threading.Thread.Sleep(Int32):將當前線程掛起指定的毫秒數。線程

for (int i = 0; i < 100; i++)
{
    System.Threading.Thread.Sleep(50);
    label1.Text = i.ToString();
    label1.Refresh();
}

  2. 實現文件夾/文件打開操做

  System.Diagnostics.Process.Start(String, String):用指定的程序打開指定路徑的文件。orm

// 1. 用Explorer.exe打開文件夾:
  System.Diagnostics.Process.Start("Explorer.exe",@"D:\DOCUMENTS\"); 
  System.Diagnostics.Process.Start("Explorer.exe",@"D:\DOCUMENTS"); 

// 2. 用notepad.exe打開記事本:
  System.Diagnostics.Process.Start("notepad.exe",@"F:\Desktop\1.txt"); 

// 3. 用Word的快捷方式打開Word文件:
  System.Diagnostics.Process.Start(@"F:\Desktop\Word 2010", @"F:\Desktop\1.docx");

// 4. 用Firefox打開網址:www.baidu.com:
  System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Mozilla Firefox\firefox.exe", "www.baidu.com");

  3. 創建事件模板,而後調用

  因爲事件的監視及管理是由Application對象進行的,程序員不須要知道用戶什麼時候響應事件或者是響應了什麼事件,只須要爲事件添加響應方法便可。添加方法」+=「,取消方法」-=「。參數sender爲事件發出者;e爲事件的附加數據,事件不一樣,e也不一樣。對象

  示例一:四個事件調用一個方法blog

        public Form1()
        {
            InitializeComponent();
            textBox2.MouseMove += new MouseEventHandler(textBox_MouseMove);     //調用事先創建的模板
            textBox3.MouseMove += new MouseEventHandler(textBox_MouseMove);     //四個TextBox能夠實現相同的功能
            textBox4.MouseMove += new MouseEventHandler(textBox_MouseMove);     //經過單擊Tab鍵,能夠自動實現後半部分
            textBox5.MouseMove += new MouseEventHandler(textBox_MouseMove);     //經過再單擊Tab鍵,能夠實現函數的自動生成
        } 
        private void textBox_MouseMove(object sender, MouseEventArgs e)     //創建事件模板
        {
            TextBox tb = sender as TextBox;
            tb.BackColor = Color.Red;
        }

  示例二:TextBox_KeyPress 只容許數字輸入

        public Form1()
        {
            InitializeComponent();
            textBox1.KeyPress += new KeyPressEventHandler(textBox_KeyPress);    //單擊tab鍵出現一行
            textBox2.KeyPress += new KeyPressEventHandler(textBox_KeyPress);    //雙擊tab鍵出現N行
            textBox3.KeyPress += new KeyPressEventHandler(textBox_KeyPress);
            textBox4.KeyPress += new KeyPressEventHandler(textBox_KeyPress);
        }

        private void textBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8 && e.KeyChar != 13)
            {
                e.Handled = true;
            }
        }

  4. 用代碼在Form中寫控件,同時能夠編寫控件數組

  首先用Label創建數組,接下來遍歷數組,給數組的每一個要素聲明Label,接下來用Controls的Add方法將用代碼寫的控件添加到控件集中,同時設置控件的位置和長寬。

        private void Form1_Load(object sender, EventArgs e)
        {
            Label[] lbs = new Label[5];     //創建標籤控件數組
            for (int i = 0; i < lbs.Length; i++)
            {
                lbs[i] = new Label();       //在聲明下Label類
                this.Controls.Add(lbs[i]);      //將Label加到控件集中
                lbs[i].Left = 714;
                lbs[i].Top = 30 * i + 14;       //設置控件的位置
                lbs[i].Width = 400;         //設置控件的寬度
                lbs[i].Text = "hhhhh";         //設置文本內容
                //批量寫入事件
                lbs[i].MouseMove += new MouseEventHandler(Label_MouseMove);
            }
        }

        void Label_MouseMove(object sender, MouseEventArgs e)
        {
            Label l = sender as Label;
            l.BackColor = Color.GreenYellow;
        }

  5. 用代碼執行事件

  首先是雙擊控件,生成一個button1_Click(object sender,EventArgs e)的函數,經過代碼直接調用這個函數,既能夠調用這個事件,說到底就是調用函數。

        private void button1_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.URL = musicPath + @"music\1.mp3";
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            button1_Click(button1, e);    //經過代碼調用按鈕單擊事件,其餘事件調用是相似的!
        }
相關文章
相關標籤/搜索