目錄:程序員
3. 創建事件模板,而後調用this
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); //經過代碼調用按鈕單擊事件,其餘事件調用是相似的! }