版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.NET 程式設(shè)計(jì)入門(mén)(使用 C#),講師:鄧智鴻,Outline,鍵盤(pán)事件檔案存取動(dòng)態(tài)產(chǎn)生控制項(xiàng)與事件程式碼,鍵盤(pán)事件,大多數(shù)的控制項(xiàng)具有和鍵盤(pán)相關(guān)的事件KeyDown按下某個(gè)鍵的時(shí)候發(fā)生KeyUp放開(kāi)某個(gè)鍵的時(shí)候發(fā)生KeyPress按住某個(gè)鍵的時(shí)候發(fā)生,對(duì)於功能鍵沒(méi)有反應(yīng),鍵盤(pán)事件,表單中的有許多控制項(xiàng),但輸入焦點(diǎn)只有一個(gè)控制項(xiàng)成為輸入焦點(diǎn)的時(shí)候會(huì)和平常有所不同TextBox成為焦點(diǎn)的時(shí),會(huì)有游標(biāo)在閃Butto
2、n成為焦點(diǎn)時(shí),框線顏色粗細(xì)稍有不同所有控制項(xiàng)都共用一個(gè)鍵盤(pán),不能說(shuō)鍵盤(pán)一打字,所有控制項(xiàng)的鍵盤(pán)事件都執(zhí)行。鍵盤(pán)只會(huì)喚起是輸入焦點(diǎn)的控制項(xiàng)的鍵盤(pán)事件程式碼來(lái)執(zhí)行可以用 物件名稱. Focus(); 來(lái)指定焦點(diǎn)放在該物件上,鍵盤(pán)事件-課堂範(fàn)例,程式功能拉兩個(gè)TextBox、一個(gè)Label出來(lái)當(dāng)textbox1在輸入的時(shí)候,讓Label顯示textbox1在輸入當(dāng)textbox2在輸入的時(shí)候,讓Label顯示textbox2在
3、輸入程式內(nèi)容private void textBox1_KeyDown(object sender, KeyEventArgs e){label1.Text="textBox1在輸入";}private void textBox2_KeyDown(object sender, KeyEventArgs e){label1.Text = "textBox2在輸入";},鍵盤(pán)事件-
4、課堂範(fàn)例,程式功能比較KeyPress和KeyDown的不同程式內(nèi)容private void textBox1_KeyDown(object sender, KeyEventArgs e) {label1.Text = "textBox1在KeyDown";}private void textBox1_KeyPress(object sender, KeyPressEventArgs e){l
5、abel1.Text="textBox1在KeyPress";},鍵盤(pán)事件,KeyEventArgs物件當(dāng)一個(gè)鍵按下的時(shí)候,你會(huì)得到一個(gè)KeyEventArgs物件屬性Keys KeyCode ? 是哪一個(gè)鍵被按了bool Shift ? Shift是否有被按bool Control ? Ctrl是否有被按bool Alt ? Alt是否有被按,鍵盤(pán)事件,Keys 列舉.Net Framework中
6、內(nèi)建的一個(gè)超大列舉是紀(jì)錄著鍵盤(pán)與其代碼對(duì)應(yīng)的表格打”Keys.”即會(huì)出現(xiàn)一大堆選擇項(xiàng)目,全都是鍵盤(pán)上的對(duì)應(yīng)鍵(int)Keys.A可將Keys.A轉(zhuǎn)為整數(shù)型態(tài),即為65Convert.ToString(Keys.A)轉(zhuǎn)為字串型態(tài),即為”A”,鍵盤(pán)事件,KeyEventArgs物件當(dāng)我們用KeyDown、KeyUp時(shí)系統(tǒng)會(huì)回傳鍵盤(pán)物鍵KeyEventArgs給我們KeyEventArgs的其中一個(gè)屬性KeyCode就是Keys
7、型態(tài)的透過(guò)讀取KeyEventArgs的KeyCode屬性值,我們可以知道使用者按了哪一個(gè)鍵,鍵盤(pán)事件-課堂範(fàn)例,程式功能將使用者目前在TextBox打的字,其印在Label上程式內(nèi)容拉一個(gè)TextBox和Label在TextBox的KeyDown事件程式碼中打入private void textBox1_KeyDown(object sender, KeyEventArgs e){label1.Text =Conve
8、rt.ToString(e.KeyCode);},鍵盤(pán)事件-課堂範(fàn)例,程式功能將使用者目前在TextBox打的字,其印在Label上程式內(nèi)容拉一個(gè)TextBox和Label在TextBox的KeyPress事件程式碼中打入private void textBox1_KeyDown(object sender, KeyPressEventArgs e){label1.Text =Convert.ToString(e.Ke
9、yChar);},鍵盤(pán)事件-課堂練習(xí),程式功能拉三個(gè)TextBox,讓使用者可以再按了Enter後就將焦點(diǎn)跳到下一個(gè)TextBox,鍵盤(pán)事件-課堂練習(xí),程式功能寫(xiě)一個(gè)程式,有一個(gè)TextBox和一個(gè)Label讓TextBox為焦點(diǎn)的時(shí)候不論打甚麼鍵,Label都可以顯示出那個(gè)鍵,字母的大小寫(xiě)也會(huì)區(qū)分,Outline,鍵盤(pán)事件檔案存取動(dòng)態(tài)產(chǎn)生控制項(xiàng)與事件程式碼,檔案存取,檔案的讀取寫(xiě)入指令System.IO.File.Wri
10、teAllText(檔案路徑,文字內(nèi)容);要存text的地方=System.IO.File.ReadAllText(檔案路徑);,檔案存取-課堂範(fàn)例,程式功能將text file讀入程式內(nèi)容在c底下建一個(gè)file叫Test.txt,隨便亂打一些內(nèi)容拉一個(gè)button和一個(gè)TextBox將TextBox的Multiline設(shè)為true在button的click事件當(dāng)中做讀檔動(dòng)作 private void button1_
11、Click(object sender, EventArgs e){textbox1.text=System.IO.File.ReadAllText(“c:\\Test.txt”);},檔案存取-課堂範(fàn)例,程式功能將textbox內(nèi)容寫(xiě)入text file程式內(nèi)容拉一個(gè)button和一個(gè)TextBox將TextBox的Multiline設(shè)為true在TextBox內(nèi)隨便打一些內(nèi)容在button的click事件當(dāng)中
12、做寫(xiě)檔動(dòng)作 private void button1_Click(object sender, EventArgs e){System.IO.File. WriteAllText(“c:\\Test2.txt”, Textbox1.text);},檔案存取,OpenFileDialog控制項(xiàng)C#內(nèi)建的開(kāi)檔對(duì)話視窗提供了方便的檔案瀏覽與選擇的功能請(qǐng)注意,他並不會(huì)幫你真的完成開(kāi)檔的功能,檔案存取,OpenFileDia
13、log控制項(xiàng)用 “OpenFileDialog物件名稱.ShowDialog()”可把對(duì)話框打開(kāi)“OpenFileDialog物件名稱.ShowDialog()”有回傳值,判斷回傳值即可知使用者是否按了確定回傳值為DialogResult型別,檔案存取-課堂範(fàn)例,程式功能建立一個(gè)button,按了即可開(kāi)啟開(kāi)檔對(duì)話框程式內(nèi)容拉一個(gè)button、一個(gè)OpenFileDialog、一個(gè)Label在button的click事件當(dāng)中
14、做讀檔動(dòng)作 private void button1_Click(object sender, EventArgs e){if(openFileDialog1.ShowDialog()==DialogResult.OK){string filename = openFileDialog1.FileName;label1.Text = filename;}},檔案存取-課堂練習(xí),程式功能建立一個(gè)Text
15、Box建立可讀寫(xiě)檔案的功能,檔案存取,MenuStrip控制項(xiàng)主功能表的控制項(xiàng)支援多下拉多個(gè)選項(xiàng)的功能,檔案存取,MenuStrip控制項(xiàng)很方便的可創(chuàng)造出多個(gè)選項(xiàng)Double-click你創(chuàng)造好的選項(xiàng)即可編寫(xiě)程式碼,檔案存取-課堂範(fàn)例,程式功能建立一個(gè)MenuStrip,含有一個(gè)下拉選項(xiàng)下拉選項(xiàng)有兩欄,開(kāi)檔和讀檔建立一個(gè)Label在按開(kāi)檔時(shí)Label會(huì)顯示開(kāi)檔在按讀檔時(shí)Label會(huì)顯示讀檔程式內(nèi)容 private
16、 void 開(kāi)檔ToolStripMenuItem_Click(object sender, EventArgs e){Label1.text=“開(kāi)檔”;} private void 讀檔ToolStripMenuItem_Click(object sender, EventArgs e){Label1.text=“讀檔”;},檔案存取-課堂練習(xí),程式功能將開(kāi)檔讀檔功能建立進(jìn)MenuStrip裡,檔案存取,Pictu
17、reBox控制項(xiàng)可用來(lái)放Gif 、Jpeg等圖檔屬性Image-設(shè)定想要放置的圖片SizeMode-調(diào)整圖片在控制項(xiàng)中的呈現(xiàn)方式,檔案存取,PictureBox控制項(xiàng)動(dòng)態(tài)讀取圖檔pictureBox1.Image = system.Drawing.Image.FromFile(“c:\\mypicture.jpg”);,檔案存取-課堂練習(xí),程式功能有動(dòng)態(tài)讀取圖片的功能的程式可透過(guò)MenuStrip及OpenFileDia
18、log來(lái)讀圖檔,檔案存取-課堂練習(xí),程式功能紅綠燈紅燈3秒,綠燈5秒,黃燈1秒提示利用Timer來(lái)做,Outline,鍵盤(pán)事件檔案存取動(dòng)態(tài)產(chǎn)生控制項(xiàng)與事件程式碼,動(dòng)態(tài)產(chǎn)生控制項(xiàng)與事件程式碼,除了在設(shè)計(jì)畫(huà)面下自己拉控制項(xiàng)以外,控制項(xiàng)可以動(dòng)態(tài)產(chǎn)生語(yǔ)法物件類(lèi)別 物件名稱=new 物件類(lèi)別();Controls.Add(物件名稱);,動(dòng)態(tài)產(chǎn)生控制項(xiàng)與事件程式碼-範(fàn)例,程式功能按下button時(shí)則產(chǎn)生一個(gè)TextBox程式內(nèi)
19、容private void button1_Click(object sender, EventArgs e){TextBox t1 = new TextBox(); Controls.Add(t1);},動(dòng)態(tài)產(chǎn)生控制項(xiàng)與事件程式碼-練習(xí),程式功能按下button時(shí)則產(chǎn)生一個(gè)TextBox,並置於表單中間提示利用Top,Left屬性控制位置用this.size來(lái)得到表單的長(zhǎng)寬,動(dòng)態(tài)產(chǎn)生控制項(xiàng)與事件程式
20、碼,我們還可以幫這些動(dòng)態(tài)產(chǎn)生的控制項(xiàng)加事件語(yǔ)法物件名稱.事件名稱+=new EventHandler(函式名稱);然後在下面寫(xiě)一個(gè)處理函式這個(gè)函式除了名字外,其他參數(shù)等都要和正式的事件處理函式一樣,動(dòng)態(tài)產(chǎn)生控制項(xiàng)與事件程式碼-範(fàn)例,程式功能按下button時(shí)則產(chǎn)生一個(gè)TextBox程式內(nèi)容private void button1_Click(object sender, EventArgs e){TextBo
21、x t1 = new TextBox(); Controls.Add(t1);t1.Click += new EventHandler(ck);}private void ck(object sender, EventArgs e){t1.Width = 100;},動(dòng)態(tài)產(chǎn)生控制項(xiàng)與事件程式碼-練習(xí),程式功能建立一個(gè)button按下button時(shí)則產(chǎn)生一個(gè)PictureBox,並load一張圖到
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)立臺(tái)灣大學(xué)電機(jī)資訊學(xué)院電機(jī)工程學(xué)系
- 大學(xué)程式能力檢定(cpe)-國(guó)立屏東大學(xué)資訊工程學(xué)系
- 國(guó)立中山大學(xué)資訊工程學(xué)系
- 第一章計(jì)算機(jī)進(jìn)化史-國(guó)立臺(tái)灣大學(xué)資訊工程學(xué)系
- 國(guó)立臺(tái)北大學(xué)電機(jī)資訊學(xué)院資訊工程學(xué)系
- 國(guó)立臺(tái)灣大學(xué)化學(xué)工程學(xué)系李氏獎(jiǎng)學(xué)金申請(qǐng)書(shū)
- 資訊工程學(xué)系資訊工程組
- 國(guó)立臺(tái)北大學(xué)資訊工程學(xué)系106學(xué)第2學(xué)期
- 國(guó)立臺(tái)灣大學(xué)化學(xué)系
- matlab程式設(shè)計(jì)入門(mén)篇初探matlab
- 國(guó)立中興大學(xué)機(jī)械工程學(xué)系
- 國(guó)立彰化師範(fàn)大學(xué)電子工程學(xué)系
- 國(guó)立中興大學(xué)機(jī)械工程學(xué)系
- 國(guó)立中正大學(xué)電機(jī)工程學(xué)系
- 膳食營(yíng)養(yǎng)-國(guó)立宜蘭大學(xué)環(huán)境工程學(xué)系
- 義守大學(xué)資訊工程學(xué)系資訊能力專業(yè)證照資格檢定
- powerpoint簡(jiǎn)報(bào)-國(guó)立聯(lián)合大學(xué)電子工程學(xué)系
- 資訊工程學(xué)系杰出教師選舉辦法
- 圖靈模仿游戲-國(guó)立聯(lián)合大學(xué)電子工程學(xué)系
- 庫(kù)存管理系統(tǒng)-國(guó)立聯(lián)合大學(xué)電子工程學(xué)系
評(píng)論
0/150
提交評(píng)論