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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C#程序設計第六章WinForm應用程序設計本章任務 能正確使用控件設計界面 能正確編寫事件處理程序代碼 能創(chuàng)建菜單、窗口和多文檔界面(MDI)任務6.1“學生信息管理系統(tǒng)”項目

——主界面的設計

用戶可以使用菜單和工具欄分別實現(xiàn)各項功能任務6.1“學生信息管理系統(tǒng)”項目

——主界面的設計

處理菜單響應、工具欄響應事件需要菜單欄(menuStrip)控件、工具欄(ToolStrip)控件和狀態(tài)欄(statusStrip)控件分三步實現(xiàn)主界面的設計

1、設置窗體frmMain,作為系統(tǒng)的主界面

2、使用菜單欄(menuStrip)控件設計系統(tǒng)主菜單3、使用工具欄(ToolStrip)控件設計系統(tǒng)工具欄4、使用狀態(tài)欄(statusStrip)控件設計系統(tǒng)狀態(tài)欄將窗體命名為frmMain

作為系統(tǒng)的主界面

屬性說明Form1NamefrmMain

Text學生信息管理系統(tǒng)Icon添加界面圖標Size1024,768StartpositonCenterScreen添加菜單欄添加菜單欄(menuStrip)控件,到frmMain窗體中,命名為msMain

關鍵代碼回顧//編寫“退出系統(tǒng)”菜單項Click事件響應程序代碼

privatevoidtsmiQuit_Click(objectsender,EventArgse){

Application.Exit();}添加工具欄添加工具欄(ToolStrip)控件,到frmMain窗體中,命名為tsMain

關鍵代碼回顧//編寫工具欄“退出”按鈕Click事件響應程序代碼

privatevoidtsbntQuit_Click(objectsender,EventArgse){

tsmiQuit_Click(sender,e)}添加狀態(tài)欄添加狀態(tài)欄(statusStrip)

,到frmMain窗體中,命名為ssMain

menuStrip的常用屬性屬性說明Name控件名稱,統(tǒng)一用ms+菜單名

Text菜單項的文本標題

ShortcutKeys

設置與菜單項關聯(lián)的快捷鍵

ShowShortcutKeys

顯示與菜單項關聯(lián)的快捷鍵

ToolStripMenuItem控件

常用屬性屬性說明Checked表示菜單是否被選中DropDownItems返回一個項集合,用于菜單項相關的下拉菜單CheckOnClick根據(jù)Checked屬性顯示菜單是否被選中Enabled設置菜單是否可用

ToolStripMenuItem主要事件事件說明Click單擊菜單項引發(fā)該事件CheckedChanged

單擊帶有CheckOnClick屬性的菜單項時,引發(fā)這個事件

任務6.2“學生信息管理系統(tǒng)”項目

——登陸界面的設計

檢查登陸的用戶名和密碼是否為空

如果用戶名和密碼不為空,則跳轉到“學生信息管理系統(tǒng)”主界面

任務6.2“學生信息管理系統(tǒng)”項目

——登陸界面的設計當用戶單擊“取消”按鈕時,觸發(fā)取消按鈕的Click事件,執(zhí)行btnCancel_Click事件處理程序,調用Application.Exit()退出整個應用程序

當用戶單擊“確定”按鈕時,執(zhí)行btnLogin_Click事件處理程序,首先調用自定義方法TestInput(),當驗證用戶已經(jīng)輸入了用戶名和密碼信息才能調用系統(tǒng)的主界面frmMain,并關閉登陸窗口

關鍵代碼回顧//“確定”按鈕,Click事件的響應方法

privatevoidbtnLogin_Click(objectsender,EventArgse){if(TestInput())//驗證用戶已經(jīng)輸入用戶名和密碼{

//顯示主窗體

frmMain

mainform=newfrmMain();

mainform.Show();

//如果驗證通過,就顯示相應的用戶窗體,并將當前登陸窗體設為不可見

this.Visible=false;}}關鍵代碼回顧//“取消”按鈕,Click事件的響應方法

privatevoidbtnCancel_Click(objectsender,EventArgse){

Application.Exit();}創(chuàng)建Windows程序步驟在VS中創(chuàng)建Windows應用程序的步驟:1、打開VS2、新建項目3、項目類型:VisualC#項目4、模板:Windows應用程序解決方案資源管理器項目名稱主程序文件,包含Main方法我們編寫代碼的文件解決方案名稱窗體設計器代碼文件,代碼為VS自動生成窗體常用屬性屬性說明BackColor窗體背景色BackGroundImage設置窗體的背景圖片

Text窗體標題欄顯示的文字Fore窗體標題字體屬性包括字體字體、字號、顏色等WindowState窗體出現(xiàn)時最初的狀態(tài)(正常、最大化、最小化)Icon窗體標題欄顯示的圖標窗體的常用事件

事件說明TextChange用戶加載窗體時發(fā)生Paint控件需要重新繪制時發(fā)生MouseMove鼠標指針移過控件時發(fā)生KeyPress當TextBox得到焦點并且在用戶按下某鍵并松開時觸發(fā)為什么使用事件Windows系統(tǒng)中處處是事件:鼠標按下、鼠標釋放、鍵盤鍵按下……Windows系統(tǒng)通過事件處理來響應用戶的請求顯示開始菜單我的電腦窗口打開事件觸發(fā)事件響應的結果單擊雙擊事件驅動Windows通過隨時響應用戶觸發(fā)的事件做出相應的響應——事件驅動機制WinForms

應用程序也是事件驅動的編寫事件處理程序編寫事件處理程序的步驟:1、選中控件

2、在“屬性”窗口中單擊3、找到事件4、在對應的位置填寫事件處理程序的方法名稱,也可以直接在該處雙擊鼠標左鍵,系統(tǒng)將自動給事件處理程序加方法名5、編寫處理代碼實現(xiàn)窗體間的跳轉步驟:1、定義窗體對象2、顯示窗體定義窗體對象:被調用的窗體類名

窗體對象

=new被調用的窗體類名();顯示窗體:窗體對象

.Show();MessageBox

對象代碼分析//最簡單的消息框MessageBox.Show(

"請輸入用戶姓名“,);//帶標題的消息框MessageBox.Show("請輸入用戶姓名","輸入提示");//帶標題、按鈕的消息框MessageBox.Show(

"請輸入用戶姓名","輸入提示",

MessageBoxButtons.OKCancel);

//帶標題、按鈕、圖標的消息框MessageBox.Show(

"請輸入用戶姓名","輸入提示",

MessageBoxButtons.OKCancel,

MessageBoxIcon.Information);

MessageBoxButtons提供按鈕的類型OKCancel

表示“確定”、“取消”按鈕MessageBoxIcon提供圖標類型Information

表示消息圖標消息框的返回值用戶點了哪個按鈕?

DialogResultresult;result=MessageBox.Show("請輸入用戶姓名","輸入提示",

MessageBoxButtons.OKCancel,

MessageBoxIcon.Information);if(result==DialogResult.OK){MessageBox.Show("你選擇了確認按鈕");}else{MessageBox.Show("你選擇了取消按鈕");}

代碼分析通過“.”運算符取得某種消息框的結果實現(xiàn)窗體間的跳轉步驟:1、定義窗體對象2、顯示窗體定義窗體對象:被調用的窗體類名

窗體對象

=new被調用的窗體類名();顯示窗體:窗體對象

.Show();排列控件不美觀不友好排列控件——對齊對齊窗體的控件步驟1、選擇要對齊的控件

注意:所選的第一個控件為主控件2、“格式”→“對齊”,選擇對齊的方式

排列控件——用Anchor控件使用Anchor與窗體一起動態(tài)調整控件的大小,具體步驟:1、選中需要錨定的控件(可以按下“Ctrl”選擇多個控件,一起設置Anchor屬性)2、單擊Anchor屬性右邊的箭頭,顯示一個編輯器,該編輯器顯示一個十字線3、關閉Anchor編輯器排列控件——用Dock控件使用Dock將控件停靠在窗體的邊緣或填充窗體,具體步驟:1、選擇要??康目丶?。在“屬性”窗口中,單擊Dock屬性右邊的箭頭,打開Dock屬性編輯器2、單擊表示控件停靠位置按鈕,設置??糠绞?。任務6.3“學生信息管理系統(tǒng)”項目

——學生信息錄入界面的設計

在界面中錄入學生的學號、姓名、性別、出生日期、系部名稱、班級名稱、聯(lián)系電話、身份證號、家庭住址和備注信息任務6.2“學生信息管理系統(tǒng)”項目

——登陸界面的設計用戶單擊“添加”按鈕時觸發(fā)取消按鈕的Click事件,執(zhí)行btnConfirm_Click事件處理程序將用戶輸入的信息保存到各個字符串變量中;將字符串變量作為參數(shù),調用自定義方法addStuInfo()來實現(xiàn)向數(shù)據(jù)庫中添加記錄的操作(具體方法內容將在第7章中詳細介紹)

關鍵代碼回顧//“添加”按鈕,Click事件的響應方法

privatevoidbtnConfirm_Click(objectsender,EventArgse){//將輸入的內容賦值給各個字符串變量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();關鍵代碼回顧//調用自定義方法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設置單選按鈕控件的顯示標題AutoSize自動調整單選按鈕控件的大小以適應其內容的大小Checked表示控件的狀態(tài)。如果控件有一個選中標記,它就是true,否則為falseRadioButton控件事件說明CheckChanged當RadioButton的Checked的值發(fā)生改變時發(fā)生Click鼠標單擊單選按鈕時發(fā)生關鍵代碼回顧//“添加”按鈕,Click事件的響應方法

if(rbtM.Checked)

paramStudentSex=this.rbtM.Text.Trim();else

paramStudentSex=this.rbtW.Text.Trim();

RadioButton控件演示示例CheckBox控件屬性說明ThreeState當屬性為false時,復選框控件不允許設置不確定狀態(tài)(Indeterminate),只可以在代碼中把CheckState屬性改為IndeterminateCheckState獲取或設計復選框控件的狀態(tài),取值分別為Checked(選中)、Unchecked(未選中)和Indeterminate(不確定,控件旁邊的復選框通常是灰色的,表示復選框的當前值是無效的,或者無法確定)CheckBox控件事件說明CheckedChanged當復選框的Checked屬性發(fā)生改變時,就引發(fā)該事件。CheckedStateChanged當CheckedState屬性改變時,引發(fā)該事件。CheckBox控件演示示例ListBox控件屬性說明Name獲取或設置列表框控件的名稱,一般用“l(fā)st+名稱”的方式命名。Items用于存放列表框中的所有選項,是一個集合。使用該屬性,可以添加列表項、移除列表項和獲得列表項的數(shù)目。MultiColumn是否支持多列,當值為true時表示支持多列,當值為false時不支持多列。SelectedIndex獲取或設置ListBox控件中當前選定項從零開始的索引。如果未選定任何項,則返回值為1。Text該屬性用來獲取或搜索ListBox

控件中當前選定項的文本。當把此屬性值設置為字符串值時,ListBox

控件將在列表框內搜索與指定文本匹配的項并選擇該項。若在列表中選擇了一項或多項,該屬性將返回第一個選定項的文本。ListBox控件屬性說明ColumnWidth在包含多個列的列表框中,這個屬性指定列的寬度。SelectedItems它是一個集合可以獲取或設置ListBox中當前選定的所有選項。Count用于返回列表框中列表項的個數(shù)。Sorted把這個屬性設置為true,會使列表框對它包含的選項按照字母順序排序。SelectionMode

用來獲取或設置在ListBox控件中選擇列表項的方法。默認為One:一次只能選擇一個選項。其它幾種模式為:CheckBox控件方法調用格式

說明

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控件方法調用格式

說明

RemoveAt()ListBox對象.Items.RemoveAt(s);從ListBox對象移除指定索引號的列表項Clear()ListBox對象.Items.Clear()清除列表框中的所有項FindString()ListBox對象.Items.FindString("s")查找列表框中第一個以指定字符串s開頭的字符串CheckBox控件演示示例DateTimePicker控件

DateTimePicker控件

屬性說明Name獲取或設置DateTimePicker控件的名稱,一般用“dtp+名稱”的方式命名。Value用于表示當前日期/時間值。若當前日期為“2008年4月22日10點12分28秒”,則表達式“dtpNow.Value”的值為“2008-4-2210:12:28”。Date用于獲取當前日期/時間值的日期部分。若當前日期為“2008年4月22日10點12分28秒”,則表達式“dtpNow.Value.Date”的值為“20

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論