C# WinForm應(yīng)用程序設(shè)計_第1頁
C# WinForm應(yīng)用程序設(shè)計_第2頁
C# WinForm應(yīng)用程序設(shè)計_第3頁
C# WinForm應(yīng)用程序設(shè)計_第4頁
C# WinForm應(yīng)用程序設(shè)計_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論