版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C#程序設(shè)計第六章WinForm應(yīng)用程序設(shè)計本章任務(wù) 能正確使用控件設(shè)計界面 能正確編寫事件處理程序代碼 能創(chuàng)建菜單、窗口和多文檔界面(MDI)任務(wù)6.1“學(xué)生信息管理系統(tǒng)”項目
——主界面的設(shè)計
用戶可以使用菜單和工具欄分別實現(xiàn)各項功能任務(wù)6.1“學(xué)生信息管理系統(tǒng)”項目
——主界面的設(shè)計
處理菜單響應(yīng)、工具欄響應(yīng)事件需要菜單欄(menuStrip)控件、工具欄(ToolStrip)控件和狀態(tài)欄(statusStrip)控件分三步實現(xiàn)主界面的設(shè)計
1、設(shè)置窗體frmMain,作為系統(tǒng)的主界面
2、使用菜單欄(menuStrip)控件設(shè)計系統(tǒng)主菜單3、使用工具欄(ToolStrip)控件設(shè)計系統(tǒng)工具欄4、使用狀態(tài)欄(statusStrip)控件設(shè)計系統(tǒng)狀態(tài)欄將窗體命名為frmMain
作為系統(tǒng)的主界面
屬性說明Form1NamefrmMain
Text學(xué)生信息管理系統(tǒng)Icon添加界面圖標(biāo)Size1024,768StartpositonCenterScreen添加菜單欄添加菜單欄(menuStrip)控件,到frmMain窗體中,命名為msMain
關(guān)鍵代碼回顧//編寫“退出系統(tǒng)”菜單項Click事件響應(yīng)程序代碼
privatevoidtsmiQuit_Click(objectsender,EventArgse){
Application.Exit();}添加工具欄添加工具欄(ToolStrip)控件,到frmMain窗體中,命名為tsMain
關(guān)鍵代碼回顧//編寫工具欄“退出”按鈕Click事件響應(yīng)程序代碼
privatevoidtsbntQuit_Click(objectsender,EventArgse){
tsmiQuit_Click(sender,e)}添加狀態(tài)欄添加狀態(tài)欄(statusStrip)
,到frmMain窗體中,命名為ssMain
menuStrip的常用屬性屬性說明Name控件名稱,統(tǒng)一用ms+菜單名
Text菜單項的文本標(biāo)題
ShortcutKeys
設(shè)置與菜單項關(guān)聯(lián)的快捷鍵
ShowShortcutKeys
顯示與菜單項關(guān)聯(lián)的快捷鍵
ToolStripMenuItem控件
常用屬性屬性說明Checked表示菜單是否被選中DropDownItems返回一個項集合,用于菜單項相關(guān)的下拉菜單CheckOnClick根據(jù)Checked屬性顯示菜單是否被選中Enabled設(shè)置菜單是否可用
ToolStripMenuItem主要事件事件說明Click單擊菜單項引發(fā)該事件CheckedChanged
單擊帶有CheckOnClick屬性的菜單項時,引發(fā)這個事件
任務(wù)6.2“學(xué)生信息管理系統(tǒng)”項目
——登陸界面的設(shè)計
檢查登陸的用戶名和密碼是否為空
如果用戶名和密碼不為空,則跳轉(zhuǎn)到“學(xué)生信息管理系統(tǒng)”主界面
任務(wù)6.2“學(xué)生信息管理系統(tǒng)”項目
——登陸界面的設(shè)計當(dāng)用戶單擊“取消”按鈕時,觸發(fā)取消按鈕的Click事件,執(zhí)行btnCancel_Click事件處理程序,調(diào)用Application.Exit()退出整個應(yīng)用程序
當(dāng)用戶單擊“確定”按鈕時,執(zhí)行btnLogin_Click事件處理程序,首先調(diào)用自定義方法TestInput(),當(dāng)驗證用戶已經(jīng)輸入了用戶名和密碼信息才能調(diào)用系統(tǒng)的主界面frmMain,并關(guān)閉登陸窗口
關(guān)鍵代碼回顧//“確定”按鈕,Click事件的響應(yīng)方法
privatevoidbtnLogin_Click(objectsender,EventArgse){if(TestInput())//驗證用戶已經(jīng)輸入用戶名和密碼{
//顯示主窗體
frmMain
mainform=newfrmMain();
mainform.Show();
//如果驗證通過,就顯示相應(yīng)的用戶窗體,并將當(dāng)前登陸窗體設(shè)為不可見
this.Visible=false;}}關(guān)鍵代碼回顧//“取消”按鈕,Click事件的響應(yīng)方法
privatevoidbtnCancel_Click(objectsender,EventArgse){
Application.Exit();}創(chuàng)建Windows程序步驟在VS中創(chuàng)建Windows應(yīng)用程序的步驟:1、打開VS2、新建項目3、項目類型:VisualC#項目4、模板:Windows應(yīng)用程序解決方案資源管理器項目名稱主程序文件,包含Main方法我們編寫代碼的文件解決方案名稱窗體設(shè)計器代碼文件,代碼為VS自動生成窗體常用屬性屬性說明BackColor窗體背景色BackGroundImage設(shè)置窗體的背景圖片
Text窗體標(biāo)題欄顯示的文字Fore窗體標(biāo)題字體屬性包括字體字體、字號、顏色等WindowState窗體出現(xiàn)時最初的狀態(tài)(正常、最大化、最小化)Icon窗體標(biāo)題欄顯示的圖標(biāo)窗體的常用事件
事件說明TextChange用戶加載窗體時發(fā)生Paint控件需要重新繪制時發(fā)生MouseMove鼠標(biāo)指針移過控件時發(fā)生KeyPress當(dāng)TextBox得到焦點并且在用戶按下某鍵并松開時觸發(fā)為什么使用事件Windows系統(tǒng)中處處是事件:鼠標(biāo)按下、鼠標(biāo)釋放、鍵盤鍵按下……Windows系統(tǒng)通過事件處理來響應(yīng)用戶的請求顯示開始菜單我的電腦窗口打開事件觸發(fā)事件響應(yīng)的結(jié)果單擊雙擊事件驅(qū)動Windows通過隨時響應(yīng)用戶觸發(fā)的事件做出相應(yīng)的響應(yīng)——事件驅(qū)動機制WinForms
應(yīng)用程序也是事件驅(qū)動的編寫事件處理程序編寫事件處理程序的步驟:1、選中控件
2、在“屬性”窗口中單擊3、找到事件4、在對應(yīng)的位置填寫事件處理程序的方法名稱,也可以直接在該處雙擊鼠標(biāo)左鍵,系統(tǒng)將自動給事件處理程序加方法名5、編寫處理代碼實現(xiàn)窗體間的跳轉(zhuǎn)步驟:1、定義窗體對象2、顯示窗體定義窗體對象:被調(diào)用的窗體類名
窗體對象
=new被調(diào)用的窗體類名();顯示窗體:窗體對象
.Show();MessageBox
對象代碼分析//最簡單的消息框MessageBox.Show(
"請輸入用戶姓名“,);//帶標(biāo)題的消息框MessageBox.Show("請輸入用戶姓名","輸入提示");//帶標(biāo)題、按鈕的消息框MessageBox.Show(
"請輸入用戶姓名","輸入提示",
MessageBoxButtons.OKCancel);
//帶標(biāo)題、按鈕、圖標(biāo)的消息框MessageBox.Show(
"請輸入用戶姓名","輸入提示",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Information);
MessageBoxButtons提供按鈕的類型OKCancel
表示“確定”、“取消”按鈕MessageBoxIcon提供圖標(biāo)類型Information
表示消息圖標(biāo)消息框的返回值用戶點了哪個按鈕?
DialogResultresult;result=MessageBox.Show("請輸入用戶姓名","輸入提示",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Information);if(result==DialogResult.OK){MessageBox.Show("你選擇了確認按鈕");}else{MessageBox.Show("你選擇了取消按鈕");}
代碼分析通過“.”運算符取得某種消息框的結(jié)果實現(xiàn)窗體間的跳轉(zhuǎn)步驟:1、定義窗體對象2、顯示窗體定義窗體對象:被調(diào)用的窗體類名
窗體對象
=new被調(diào)用的窗體類名();顯示窗體:窗體對象
.Show();排列控件不美觀不友好排列控件——對齊對齊窗體的控件步驟1、選擇要對齊的控件
注意:所選的第一個控件為主控件2、“格式”→“對齊”,選擇對齊的方式
排列控件——用Anchor控件使用Anchor與窗體一起動態(tài)調(diào)整控件的大小,具體步驟:1、選中需要錨定的控件(可以按下“Ctrl”選擇多個控件,一起設(shè)置Anchor屬性)2、單擊Anchor屬性右邊的箭頭,顯示一個編輯器,該編輯器顯示一個十字線3、關(guān)閉Anchor編輯器排列控件——用Dock控件使用Dock將控件??吭诖绑w的邊緣或填充窗體,具體步驟:1、選擇要停靠的控件。在“屬性”窗口中,單擊Dock屬性右邊的箭頭,打開Dock屬性編輯器2、單擊表示控件??课恢冒粹o,設(shè)置??糠绞健H蝿?wù)6.3“學(xué)生信息管理系統(tǒng)”項目
——學(xué)生信息錄入界面的設(shè)計
在界面中錄入學(xué)生的學(xué)號、姓名、性別、出生日期、系部名稱、班級名稱、聯(lián)系電話、身份證號、家庭住址和備注信息任務(wù)6.2“學(xué)生信息管理系統(tǒng)”項目
——登陸界面的設(shè)計用戶單擊“添加”按鈕時觸發(fā)取消按鈕的Click事件,執(zhí)行btnConfirm_Click事件處理程序?qū)⒂脩糨斎氲男畔⒈4娴礁鱾€字符串變量中;將字符串變量作為參數(shù),調(diào)用自定義方法addStuInfo()來實現(xiàn)向數(shù)據(jù)庫中添加記錄的操作(具體方法內(nèi)容將在第7章中詳細介紹)
關(guān)鍵代碼回顧//“添加”按鈕,Click事件的響應(yīng)方法
privatevoidbtnConfirm_Click(objectsender,EventArgse){//將輸入的內(nèi)容賦值給各個字符串變量stringparamStudentID=this.txtStudentID.Text.Trim();……if(rbtM.Checked)
paramStudentSex=this.rbtM.Text.Trim();else
paramStudentSex=this.rbtW.Text.Trim();stringparamStudyDate=dtpStudyDate.Value.ToShortDateString();……stringparamExtendField=this.txtExtendField.Text.Trim();關(guān)鍵代碼回顧//調(diào)用自定義方法addStuInfo實現(xiàn)向數(shù)據(jù)庫中添加記錄的功能
returnValue=addStuInfo(paramStudentID,paramStudentName,paramStudentSex,paramStudyDate,paramDepartName,paramClassName,paramStudentIDCard,paramAddress,paramStudentTel,paramExtendField);
if(returnValue>0)//根據(jù)方法返回值判斷添加是否成功
MessageBox.Show("添加成功!");elseMessageBox.Show("添加不成功");}RadioButton控件屬性說明name名稱,一般用rbt+名稱的方式命名Text設(shè)置單選按鈕控件的顯示標(biāo)題AutoSize自動調(diào)整單選按鈕控件的大小以適應(yīng)其內(nèi)容的大小Checked表示控件的狀態(tài)。如果控件有一個選中標(biāo)記,它就是true,否則為falseRadioButton控件事件說明CheckChanged當(dāng)RadioButton的Checked的值發(fā)生改變時發(fā)生Click鼠標(biāo)單擊單選按鈕時發(fā)生關(guān)鍵代碼回顧//“添加”按鈕,Click事件的響應(yīng)方法
if(rbtM.Checked)
paramStudentSex=this.rbtM.Text.Trim();else
paramStudentSex=this.rbtW.Text.Trim();
RadioButton控件演示示例CheckBox控件屬性說明ThreeState當(dāng)屬性為false時,復(fù)選框控件不允許設(shè)置不確定狀態(tài)(Indeterminate),只可以在代碼中把CheckState屬性改為IndeterminateCheckState獲取或設(shè)計復(fù)選框控件的狀態(tài),取值分別為Checked(選中)、Unchecked(未選中)和Indeterminate(不確定,控件旁邊的復(fù)選框通常是灰色的,表示復(fù)選框的當(dāng)前值是無效的,或者無法確定)CheckBox控件事件說明CheckedChanged當(dāng)復(fù)選框的Checked屬性發(fā)生改變時,就引發(fā)該事件。CheckedStateChanged當(dāng)CheckedState屬性改變時,引發(fā)該事件。CheckBox控件演示示例ListBox控件屬性說明Name獲取或設(shè)置列表框控件的名稱,一般用“l(fā)st+名稱”的方式命名。Items用于存放列表框中的所有選項,是一個集合。使用該屬性,可以添加列表項、移除列表項和獲得列表項的數(shù)目。MultiColumn是否支持多列,當(dāng)值為true時表示支持多列,當(dāng)值為false時不支持多列。SelectedIndex獲取或設(shè)置ListBox控件中當(dāng)前選定項從零開始的索引。如果未選定任何項,則返回值為1。Text該屬性用來獲取或搜索ListBox
控件中當(dāng)前選定項的文本。當(dāng)把此屬性值設(shè)置為字符串值時,ListBox
控件將在列表框內(nèi)搜索與指定文本匹配的項并選擇該項。若在列表中選擇了一項或多項,該屬性將返回第一個選定項的文本。ListBox控件屬性說明ColumnWidth在包含多個列的列表框中,這個屬性指定列的寬度。SelectedItems它是一個集合可以獲取或設(shè)置ListBox中當(dāng)前選定的所有選項。Count用于返回列表框中列表項的個數(shù)。Sorted把這個屬性設(shè)置為true,會使列表框?qū)λ倪x項按照字母順序排序。SelectionMode
用來獲取或設(shè)置在ListBox控件中選擇列表項的方法。默認為One:一次只能選擇一個選項。其它幾種模式為:CheckBox控件方法調(diào)用格式
說明
Add()ListBox對象.Items.Add(“s”)把字符型參數(shù)s添加到“l(fā)istBox對象”指定的列表框的列表項中Insert()ListBox對象.Items.Insert(n,”s”)把字符型參數(shù)s插入到“l(fā)istBox對象”指定的列表框中索引為n的位置處。IndexOf()ListBox對象.Items.IndexOf(“s”);用于返回指定項s在集合中的索引Remove()ListBox對象.Items.Remove(“s”);從ListBox對象中移除字符型參數(shù)列表項sCheckBox控件方法調(diào)用格式
說明
RemoveAt()ListBox對象.Items.RemoveAt(s);從ListBox對象移除指定索引號的列表項Clear()ListBox對象.Items.Clear()清除列表框中的所有項FindString()ListBox對象.Items.FindString("s")查找列表框中第一個以指定字符串s開頭的字符串CheckBox控件演示示例DateTimePicker控件
DateTimePicker控件
屬性說明Name獲取或設(shè)置DateTimePicker控件的名稱,一般用“dtp+名稱”的方式命名。Value用于表示當(dāng)前日期/時間值。若當(dāng)前日期為“2008年4月22日10點12分28秒”,則表達式“dtpNow.Value”的值為“2008-4-2210:12:28”。Date用于獲取當(dāng)前日期/時間值的日期部分。若當(dāng)前日期為“2008年4月22日10點12分28秒”,則表達式“dtpNow.Value.Date”的值為“20
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 游戲活動教案模板
- 2024年深海探測技術(shù)項目信托資金借款合同3篇
- 一年級語文園地五教案
- 2025年直流電源項目提案報告模稿
- 公文報告的范文
- 財務(wù)經(jīng)理述職報告
- 繪畫工作總結(jié)
- 結(jié)構(gòu)工程師工作總結(jié)(12篇)
- 學(xué)生會辭職報告(集合15篇)
- 簡短的求職自我介紹-
- 三位數(shù)除以兩位數(shù)-計算題-100題-豎式
- 2024年浙江杭州西湖文化旅游投資集團有限公司招聘筆試參考題庫含答案解析
- 圍手術(shù)期血糖管理指南
- 第1課 《蓼莪》 公開課一等獎創(chuàng)新教案(表格式)《大學(xué)語文(第四版)》(高職版)
- 項目式教學(xué)設(shè)計與實施
- 國際經(jīng)濟學(xué)中文版(克魯格曼教材)課件
- 數(shù)字經(jīng)濟職業(yè)生涯規(guī)劃
- 管理方案日間照料中心
- 煤礦安全生產(chǎn)管理人員逢查必考題庫(500題)
- 2024大型活動標(biāo)準(zhǔn)化執(zhí)行手冊
- 上頜骨骨折的護理
評論
0/150
提交評論