版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
創(chuàng)建特定形狀的窗體DEMO1
1創(chuàng)建特定形狀的窗體DEMO1
1添加窗體的Paint事件處理//GraphicsPath表示一系列相互連接的直線和曲線
System.Drawing.Drawing2D.GraphicsPathshape=newSystem.Drawing.Drawing2D.GraphicsPath();shape.AddEllipse(0,0,this.Width,this.Height);//Control.Region屬性獲取或設置與控件關(guān)聯(lián)的窗口區(qū)域。this.Region=newSystem.Drawing.Region(shape);2添加窗體的Paint事件處理//GraphicsPath表示創(chuàng)建不規(guī)則窗體DEMO2
3創(chuàng)建不規(guī)則窗體DEMO2
3步驟1(1)創(chuàng)建Windows應用程序項目,將其屬性設置為移除標題欄并使用位圖作為窗體背景。BackgroundImage屬性:位圖FormBorderStyle屬性:NoneTransparencyKey屬性:設為要隱藏的顏色4步驟1(1)創(chuàng)建Windows應用程序項目,將其屬性設4步驟2(2)輸入重新創(chuàng)建標題欄所提供功能的代碼,例如移動和關(guān)閉窗體。為窗體添加數(shù)據(jù)成員,記錄鼠標狀態(tài):privatePointmouseOffset;privateboolisMouseDown=false;5步驟2(2)輸入重新創(chuàng)建標題欄所提供功能的代碼,5步驟3(3)添加窗體的MouseDown事件處理:privatevoidForm1_MouseDown(objectsender,MouseEventArgse){intxOffset;intyOffset;if(e.Button==MouseButtons.Left){//計算和窗體左上角的偏離量xOffset=-e.X-SystemInformation.FrameBorderSize.Width;yOffset=-e.Y-SystemInformation.CaptionHeight-SystemInformation.FrameBorderSize.Height;mouseOffset=newPoint(xOffset,yOffset);isMouseDown=true;}}6步驟3(3)添加窗體的MouseDown事件處理:6添加窗體的MouseMove事件處理privatevoidForm1_MouseMove(objectsender,MouseEventArgse){if(isMouseDown){//獲取鼠標光標的位置(以屏幕坐標表示)。
PointmousePos=Control.MousePosition; //將此Point平移指定的量。
mousePos.Offset(mouseOffset.X,mouseOffset.Y);Location=mousePos;}}7添加窗體的MouseMove事件處理privatevoid添加窗體的MouseUp事件處理privatevoidForm1_MouseUp(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left){isMouseDown=false;}}8添加窗體的MouseUp事件處理privatevoidFMaskedTextBox控件DEMO3
9MaskedTextBox控件DEMO3
9
MaskedTextBox控件(P51)
MaskedTextBox控件,也叫掩碼文本框。它的主要作用是控制輸入文本的格式。如果輸入的內(nèi)容不滿足規(guī)定的格式,則控件不會接收該輸入。如下圖是從工具箱向窗體拖動該控件的圖示。
10MaskedTextBox控件(P51)Mask1、常用的基本屬性(1)[InsertKeyMode]屬性:指示向掩碼文本框輸入字符時的輸入模式,其屬性值有:Default、Insert和Overwrite3種。當屬性值為Default時,表示輸入模式由當時鍵盤的插入/改寫狀態(tài)決定,如果輸入時鍵盤處于改寫模式,則會改寫輸入處的字符,否則為插入字符。當屬性值為Insert時,即使鍵盤的Ins鍵被按下,也不會以改寫方式輸入字符。當屬性值為Overwrite時,則任何時候都是以改寫方式輸入字符。111、常用的基本屬性11(2)[PromptChar]屬性:指定作為占位符的字符,用于指示用戶需要輸入的字符長度,默認的占位符為下劃線“_”,需要修改時可以直接在屬性后的空白處輸入指定字符。12(2)[PromptChar]屬性:指定作為占位符的字符,用(3)[Mask]屬性:設置當前掩碼文本框輸入字符的格式。單擊[Mask]屬性后的[…]按鈕,13(3)[Mask]屬性:設置當前掩碼文本框輸入字符的格式。單彈出如圖所示的窗口,其中是一些設置好的時間、電話號碼的格式,若這些格式都不能滿足設計要求,也可以選擇自定義格式,或者在[Mask]屬性后的空白處直接輸入自定義格式。14彈出如圖所示的窗口,其中是一些設置好的時間、電話號碼的格式,1515
自定義輸入格式時,可以使用掩碼和分隔符兩類符號。掩碼用于限制用戶可輸入的符號類型,程序運行時掩碼以占位符顯示;而分隔符可作為輸入字符之間的關(guān)聯(lián)符,分隔符顯示在掩碼文本框中,且不可修改。表5-3列出了常用掩碼和分隔符的含義。
16自定義輸入格式時,可以使用掩碼和分隔符兩類符號。掩碼表5-3常用的掩碼和分隔符符號含義掩碼0數(shù)字“0”~“9”9數(shù)字“0”~“9”、空格(Space)#數(shù)字“0”~“9”、空格(Space)、“+”、“-”L數(shù)字“a”~“z”、“A”~“Z”&鍵盤可輸入字符A、a字母與數(shù)字<強制將其后輸入的字母轉(zhuǎn)換為小寫>強制將其后輸入的字母轉(zhuǎn)換為大寫分隔符.小數(shù)分隔符,即小數(shù)點-連接分隔符,數(shù)字分隔符:時間分隔符/日期分隔符$貨幣符號17表5-3常用的掩碼和分掩碼不能保證用戶輸入一定會表示給定類型的有效值,例如,輸入的年齡值可能為-9。通過將值的類型的實例賦給ValidatingType屬性,可以確保用戶輸入表示一個有效值。通過監(jiān)視TypeValidationCompleted事件,可以檢測當MaskedTextBox包含無效值時,用戶是否將焦點從該控件移開。如果鍵入驗證成功,可以通過TypeValidationEventArgs參數(shù)的ReturnValue屬性使用表示該值的對象。18掩碼不能保證用戶輸入一定會表示給定類型的有效值,例如,輸入的(4)[TextMaskFormat]屬性:表示由掩碼文本框的[Text]屬性得到的字符串中是否包含占位符、分隔符的內(nèi)容。該屬性共有4個選項:ExcludePromptAndLiterals表示占位符和分隔符均不包含;IncludePrompt表示僅包含占位符;IncludeLiterals表示僅包含分隔符;IncludePromptAndLiterals表示占位符和分隔符均包含。19(4)[TextMaskFormat]屬性:表示由掩碼文本框(5)HidePromptOnLeave屬性:指示若當前控件未處于活動狀態(tài)時,是否顯示占位苻,若屬性值為true時,表示當控件不是活動狀態(tài),隱藏占位苻;若屬性值為false時,即使控件不是活動狀態(tài),仍然顯示占位符。20(5)HidePromptOnLeave屬性:指示若當前控件2、常用的基本事件MaskInputRejected事件:當輸入字符不符合掩碼要求時觸發(fā)的操作。[例1]簡單的用戶信息登錄界面示例。(1)新建一個名為MaskedTextBoxExample的Windows應用程序項目,在[解決方案資源管理器]中Form1.cs重命名為FormMaskedTextBox.cs。如下各圖所示。212、常用的基本事件[例1]簡單的用戶信息登錄界面示例。2向Form窗體中添加5個MaskedTextBox控件、1個Button控件和7個Label控件,窗體中各控件的屬性、布局及顯示效果如圖所示。22向Form窗體中添加5個MaskedTextBox控件、1個在FormMaskedTextBox類中直接編寫MyMaskInputRejected事件和MyMaskInputReset事件。具體代碼為://若輸入不符合要求,則以紅色字體顯示輸入信息
privatevoidMyMaskInputRejected(objectsender,MaskInputRejectedEventArgse){((MaskedTextBox)sender).ForeColor=Color.Red;}//重新輸入時,以改寫方式輸入,并恢復正常的字體顏色privatevoidMyMaskInputReset(objectsender,KeyEventArgse){((MaskedTextBox)sender).InsertKeyMode=InsertKeyMode.Overwrite;((MaskedTextBox)sender).ForeColor=Color.FromName("WindowText");}23在FormMaskedTextBox類中直接編寫MyMask為所有的MaskedTextBox的MaskInputRejected事件指定事件處理函數(shù):MyMaskInputRejected為所有的MaskedTextBox的KeyDown事件指定事件處理函數(shù):MyMaskInputReset24為所有的MaskedTextBox的MaskInpu添加maskedTextBoxBirthday的TypeValidationCompleted事件代碼。將該事件代碼補充完整如下:privatevoidmaskedTextBoxBirthday_TypeValidationCompleted(objectsender,TypeValidationEventArgse){if(!e.IsValidInput){MessageBox.Show("您輸入的日期不正確!");((MaskedTextBox)sender).Focus();((MaskedTextBox)sender).InsertKeyMode=InsertKeyMode.Overwrite;}}25添加maskedTextBoxBirthday的TypeVaRadioButton實例DEMO4
26RadioButton實例DEMO4
26添加RadioButton的CheckedChanged
事件處理privatevoidrdo_CheckedChanged(objectsender,EventArgse){RadioButtonbtn=(RadioButton)sender;if(checkBox1.Checked){switch(btn.Text){case"紅色":pictureBox1.BackColor=Color.Red;break;case"藍色":pictureBox1.BackColor=Color.Blue;break;case"黑色":...}}}27添加RadioButton的CheckedChanged
事添加CheckBox的CheckedChanged
事件處理privatevoidcheckBox1_CheckedChanged(objectsender,EventArgse){if(checkBox1.Checked){foreach(Controlctlinthis.groupBox1.Controls){if(ctlisRadioButton){RadioButtonrdo=(RadioButton)ctl;if(rdo.Checked){this.rdo_CheckedChanged(rdo,null);break;}}}}else{pictureBox1.BackColor=this.BackColor;}}}28添加CheckBox的CheckedChanged
事件處理VScrollBar實例DEMO4
29VScrollBar實例DEMO4
29提示(1)設置VScrollBar的LargeChange值為1;30提示(1)設置VScrollBar的LargeChange值添加VSCrollBar的ValueChanged
事件處理privatevoidvScrollBar1_ValueChanged(objectsender,EventArgse){intr,g,b;r=vScrRed.Value;g=vScrGreen.Value;b=vScrBlue.Value;Colorc=Color.FromArgb(r,g,b);pictureBox1.BackColor=c;lblRed.Text=r.ToString();lblGreen.Text=g.ToString();lblBlue.Text=b.ToString();Invalidate(false);}31添加VSCrollBar的ValueChanged
事件處理添加CheckBox的CheckedChanged
事件處理privatevoidcheckBox1_CheckedChanged(objectsender,EventArgse){if(checkBox1.Checked){foreach(Controlctlinthis.groupBox1.Controls){if(ctlisRadioButton){RadioButtonrdo=(RadioButton)ctl;if(rdo.Checked){this.rdo_CheckedChanged(rdo,null);break;}}}}else{pictureBox1.BackColor=this.BackColor;}}}32添加CheckBox的CheckedChanged
事件處理資源管理器實例DEMO5
33資源管理器實例DEMO5
33提示(1)設置ListView的View值為Details;(2)添加命名空間:usingSystem.IO;//添加引用,以使用文件和目錄類34提示(1)設置ListView的View值為Details;初始化左面的TreeView顯示publicvoidRefreshTree(){ //Turnoffvisualupdatingandcleartree. DirectoryTreeView.BeginUpdate(); DirectoryTreeView.Nodes.Clear(); //Makediskdrivestherootnodes. string[]astrDrives=Directory.GetLogicalDrives(); foreach(stringstrinastrDrives) {TreeNodetnDrive=newTreeNode(str,0,0); //ImageIndex=0;SelectedImageIndex=0 DirectoryTreeView.Nodes.Add(tnDrive);
AddDirectories(tnDrive); if(str=="C:\\") DirectoryTreeView.SelectedNode=tnDrive; } DirectoryTreeView.EndUpdate();}35初始化左面的TreeView顯示publicvoidRe添加各個驅(qū)動器節(jié)點voidAddDirectories(TreeNodetn){tn.Nodes.Clear();stringstrPath=tn.FullPath;DirectoryInfodirinfo=newDirectoryInfo(strPath);DirectoryInfo[]adirinfo;try{adirinfo=dirinfo.GetDirectories();}catch{return;}foreach(DirectoryInfodiinadirinfo){TreeNodetnDir=newTreeNode(di.Name,1,2);tn.Nodes.Add(tnDir);}}36添加各個驅(qū)動器節(jié)點voidAddDirectories(T添加TreeView的BeforeExpand響應事件,即在節(jié)點打開前執(zhí)行privatevoidDirectoryTreeView_BeforeExpand(objectsender,System.Windows.Forms.TreeViewCancelEventArgse){ DirectoryTreeView.BeginUpdate(); foreach(TreeNodetnine.Node.Nodes) AddDirectories(tn); DirectoryTreeView.EndUpdate();}37添加TreeView的BeforeExpand響應事件,即在填充ListView,顯示文件信息publicvoidShowFiles(stringstrDirectory){ //Savedirectorynameasfield. this.strDirectory=strDirectory; FileListView.Items.Clear(); DirectoryInfodirinfo=newDirectoryInfo(strDirectory); FileInfo[]afileinfo; try { afileinfo=dirinfo.GetFiles(); } catch { return; }38填充ListView,顯示文件信息publicvoidS foreach(FileInfofiinafileinfo) { //CreateListViewItem. ListViewItemlvi=newListViewItem(fi.Name); //AssignImageIndexbasedonfilenameextension. if(Path.GetExtension(fi.Name).ToUpper()==".EXE") lvi.ImageIndex=4; else lvi.ImageIndex=3; //Addfilelengthandmodifiedtimesub-items. lvi.SubItems.Add(fi.Length.ToString("N0")); //Addattributesubitem. stringstrAttr=""; if((fi.Attributes&FileAttributes.Archive)!=0) strAttr+="A"; if((fi.Attributes&FileAttributes.Hidden)!=0) strAttr+="H";
3939
if((fi.Attributes&FileAttributes.ReadOnly)!=0) strAttr+="R"; if((fi.Attributes&FileAttributes.System)!=0) strAttr+="S"; lvi.SubItems.Add(strAttr); lvi.SubItems.Add(fi.LastWriteTime.ToString()); //AddcompletedListViewItemtoFileListView. FileListView.Items.Add(lvi); } }40 if((fi.Attributes&FileAttr添加TreeView的BeforeExpand響應事件,即在節(jié)點打開前執(zhí)行privatevoidDirectoryTreeView_BeforeExpand(objectsender,System.Windows.Forms.TreeViewCancelEventArgse){ DirectoryTreeView.BeginUpdate(); foreach(TreeNodetnine.Node.Nodes) AddDirectories(tn); DirectoryTreeView.EndUpdate();}41添加TreeView的BeforeExpand響應事件,即在添加DirectoryTreeView的AfterSelect響應事件,即在節(jié)點被選擇后執(zhí)行privatevoidDirectoryTreeView_AfterSelect(objectsender,System.Windows.Forms.TreeViewEventArgse){ ShowFiles(e.Node.FullPath);}42添加DirectoryTreeView的AfterSelec后臺線程實例DEMO6
43后臺線程實例DEMO6
43提示(1)添加控件BackgroundWorker;(2)添加Boolflag=false;表示是否畫圖;(3)添加Randomrandom=newRandom();用來生成隨機畫圖時的坐標和顏色;44提示(1)添加控件BackgroundWorker;44添加BackgroundWorker的DoWork響應事件
privatevoidbackgroundWorker1_DoWork(objectsender,DoWorkEventArgse){Point[]pt=newPoint[2];Graphicsgraphics=pictureBox1.CreateGraphics();Colorc;while(flag){pt[0]=newPoint(random.Next(pictureBox1.Width),random.Next(pictureBox1.Height));pt[1]=newPoint(random.Next(pictureBox1.Width),random.Next(pictureBox1.Height));c=Color.FromArgb(random.Next(255),random.Next(255),random.Next(255));graphics.DrawLine(newPen(c,3),pt[0],pt[1]);}}45添加BackgroundWorker的DoWork響應事件添加Button的Click響應事件
privatevoidbutton1_Click(objectsender,EventArgse){this.flag=!this.flag;if(this.flag){button1.Text="停止";this.backgroundWorker1.RunWorkerAsync();while(this.backgroundWorker1.IsBusy){Application.DoEvents();}}else{button1.Text="開始";}}46添加Button的Click響應事件privatevoi創(chuàng)建特定形狀的窗體DEMO1
47創(chuàng)建特定形狀的窗體DEMO1
1添加窗體的Paint事件處理//GraphicsPath表示一系列相互連接的直線和曲線
System.Drawing.Drawing2D.GraphicsPathshape=newSystem.Drawing.Drawing2D.GraphicsPath();shape.AddEllipse(0,0,this.Width,this.Height);//Control.Region屬性獲取或設置與控件關(guān)聯(lián)的窗口區(qū)域。this.Region=newSystem.Drawing.Region(shape);48添加窗體的Paint事件處理//GraphicsPath表示創(chuàng)建不規(guī)則窗體DEMO2
49創(chuàng)建不規(guī)則窗體DEMO2
3步驟1(1)創(chuàng)建Windows應用程序項目,將其屬性設置為移除標題欄并使用位圖作為窗體背景。BackgroundImage屬性:位圖FormBorderStyle屬性:NoneTransparencyKey屬性:設為要隱藏的顏色50步驟1(1)創(chuàng)建Windows應用程序項目,將其屬性設4步驟2(2)輸入重新創(chuàng)建標題欄所提供功能的代碼,例如移動和關(guān)閉窗體。為窗體添加數(shù)據(jù)成員,記錄鼠標狀態(tài):privatePointmouseOffset;privateboolisMouseDown=false;51步驟2(2)輸入重新創(chuàng)建標題欄所提供功能的代碼,5步驟3(3)添加窗體的MouseDown事件處理:privatevoidForm1_MouseDown(objectsender,MouseEventArgse){intxOffset;intyOffset;if(e.Button==MouseButtons.Left){//計算和窗體左上角的偏離量xOffset=-e.X-SystemInformation.FrameBorderSize.Width;yOffset=-e.Y-SystemInformation.CaptionHeight-SystemInformation.FrameBorderSize.Height;mouseOffset=newPoint(xOffset,yOffset);isMouseDown=true;}}52步驟3(3)添加窗體的MouseDown事件處理:6添加窗體的MouseMove事件處理privatevoidForm1_MouseMove(objectsender,MouseEventArgse){if(isMouseDown){//獲取鼠標光標的位置(以屏幕坐標表示)。
PointmousePos=Control.MousePosition; //將此Point平移指定的量。
mousePos.Offset(mouseOffset.X,mouseOffset.Y);Location=mousePos;}}53添加窗體的MouseMove事件處理privatevoid添加窗體的MouseUp事件處理privatevoidForm1_MouseUp(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left){isMouseDown=false;}}54添加窗體的MouseUp事件處理privatevoidFMaskedTextBox控件DEMO3
55MaskedTextBox控件DEMO3
9
MaskedTextBox控件(P51)
MaskedTextBox控件,也叫掩碼文本框。它的主要作用是控制輸入文本的格式。如果輸入的內(nèi)容不滿足規(guī)定的格式,則控件不會接收該輸入。如下圖是從工具箱向窗體拖動該控件的圖示。
56MaskedTextBox控件(P51)Mask1、常用的基本屬性(1)[InsertKeyMode]屬性:指示向掩碼文本框輸入字符時的輸入模式,其屬性值有:Default、Insert和Overwrite3種。當屬性值為Default時,表示輸入模式由當時鍵盤的插入/改寫狀態(tài)決定,如果輸入時鍵盤處于改寫模式,則會改寫輸入處的字符,否則為插入字符。當屬性值為Insert時,即使鍵盤的Ins鍵被按下,也不會以改寫方式輸入字符。當屬性值為Overwrite時,則任何時候都是以改寫方式輸入字符。571、常用的基本屬性11(2)[PromptChar]屬性:指定作為占位符的字符,用于指示用戶需要輸入的字符長度,默認的占位符為下劃線“_”,需要修改時可以直接在屬性后的空白處輸入指定字符。58(2)[PromptChar]屬性:指定作為占位符的字符,用(3)[Mask]屬性:設置當前掩碼文本框輸入字符的格式。單擊[Mask]屬性后的[…]按鈕,59(3)[Mask]屬性:設置當前掩碼文本框輸入字符的格式。單彈出如圖所示的窗口,其中是一些設置好的時間、電話號碼的格式,若這些格式都不能滿足設計要求,也可以選擇自定義格式,或者在[Mask]屬性后的空白處直接輸入自定義格式。60彈出如圖所示的窗口,其中是一些設置好的時間、電話號碼的格式,6115
自定義輸入格式時,可以使用掩碼和分隔符兩類符號。掩碼用于限制用戶可輸入的符號類型,程序運行時掩碼以占位符顯示;而分隔符可作為輸入字符之間的關(guān)聯(lián)符,分隔符顯示在掩碼文本框中,且不可修改。表5-3列出了常用掩碼和分隔符的含義。
62自定義輸入格式時,可以使用掩碼和分隔符兩類符號。掩碼表5-3常用的掩碼和分隔符符號含義掩碼0數(shù)字“0”~“9”9數(shù)字“0”~“9”、空格(Space)#數(shù)字“0”~“9”、空格(Space)、“+”、“-”L數(shù)字“a”~“z”、“A”~“Z”&鍵盤可輸入字符A、a字母與數(shù)字<強制將其后輸入的字母轉(zhuǎn)換為小寫>強制將其后輸入的字母轉(zhuǎn)換為大寫分隔符.小數(shù)分隔符,即小數(shù)點-連接分隔符,數(shù)字分隔符:時間分隔符/日期分隔符$貨幣符號63表5-3常用的掩碼和分掩碼不能保證用戶輸入一定會表示給定類型的有效值,例如,輸入的年齡值可能為-9。通過將值的類型的實例賦給ValidatingType屬性,可以確保用戶輸入表示一個有效值。通過監(jiān)視TypeValidationCompleted事件,可以檢測當MaskedTextBox包含無效值時,用戶是否將焦點從該控件移開。如果鍵入驗證成功,可以通過TypeValidationEventArgs參數(shù)的ReturnValue屬性使用表示該值的對象。64掩碼不能保證用戶輸入一定會表示給定類型的有效值,例如,輸入的(4)[TextMaskFormat]屬性:表示由掩碼文本框的[Text]屬性得到的字符串中是否包含占位符、分隔符的內(nèi)容。該屬性共有4個選項:ExcludePromptAndLiterals表示占位符和分隔符均不包含;IncludePrompt表示僅包含占位符;IncludeLiterals表示僅包含分隔符;IncludePromptAndLiterals表示占位符和分隔符均包含。65(4)[TextMaskFormat]屬性:表示由掩碼文本框(5)HidePromptOnLeave屬性:指示若當前控件未處于活動狀態(tài)時,是否顯示占位苻,若屬性值為true時,表示當控件不是活動狀態(tài),隱藏占位苻;若屬性值為false時,即使控件不是活動狀態(tài),仍然顯示占位符。66(5)HidePromptOnLeave屬性:指示若當前控件2、常用的基本事件MaskInputRejected事件:當輸入字符不符合掩碼要求時觸發(fā)的操作。[例1]簡單的用戶信息登錄界面示例。(1)新建一個名為MaskedTextBoxExample的Windows應用程序項目,在[解決方案資源管理器]中Form1.cs重命名為FormMaskedTextBox.cs。如下各圖所示。672、常用的基本事件[例1]簡單的用戶信息登錄界面示例。2向Form窗體中添加5個MaskedTextBox控件、1個Button控件和7個Label控件,窗體中各控件的屬性、布局及顯示效果如圖所示。68向Form窗體中添加5個MaskedTextBox控件、1個在FormMaskedTextBox類中直接編寫MyMaskInputRejected事件和MyMaskInputReset事件。具體代碼為://若輸入不符合要求,則以紅色字體顯示輸入信息
privatevoidMyMaskInputRejected(objectsender,MaskInputRejectedEventArgse){((MaskedTextBox)sender).ForeColor=Color.Red;}//重新輸入時,以改寫方式輸入,并恢復正常的字體顏色privatevoidMyMaskInputReset(objectsender,KeyEventArgse){((MaskedTextBox)sender).InsertKeyMode=InsertKeyMode.Overwrite;((MaskedTextBox)sender).ForeColor=Color.FromName("WindowText");}69在FormMaskedTextBox類中直接編寫MyMask為所有的MaskedTextBox的MaskInputRejected事件指定事件處理函數(shù):MyMaskInputRejected為所有的MaskedTextBox的KeyDown事件指定事件處理函數(shù):MyMaskInputReset70為所有的MaskedTextBox的MaskInpu添加maskedTextBoxBirthday的TypeValidationCompleted事件代碼。將該事件代碼補充完整如下:privatevoidmaskedTextBoxBirthday_TypeValidationCompleted(objectsender,TypeValidationEventArgse){if(!e.IsValidInput){MessageBox.Show("您輸入的日期不正確!");((MaskedTextBox)sender).Focus();((MaskedTextBox)sender).InsertKeyMode=InsertKeyMode.Overwrite;}}71添加maskedTextBoxBirthday的TypeVaRadioButton實例DEMO4
72RadioButton實例DEMO4
26添加RadioButton的CheckedChanged
事件處理privatevoidrdo_CheckedChanged(objectsender,EventArgse){RadioButtonbtn=(RadioButton)sender;if(checkBox1.Checked){switch(btn.Text){case"紅色":pictureBox1.BackColor=Color.Red;break;case"藍色":pictureBox1.BackColor=Color.Blue;break;case"黑色":...}}}73添加RadioButton的CheckedChanged
事添加CheckBox的CheckedChanged
事件處理privatevoidcheckBox1_CheckedChanged(objectsender,EventArgse){if(checkBox1.Checked){foreach(Controlctlinthis.groupBox1.Controls){if(ctlisRadioButton){RadioButtonrdo=(RadioButton)ctl;if(rdo.Checked){this.rdo_CheckedChanged(rdo,null);break;}}}}else{pictureBox1.BackColor=this.BackColor;}}}74添加CheckBox的CheckedChanged
事件處理VScrollBar實例DEMO4
75VScrollBar實例DEMO4
29提示(1)設置VScrollBar的LargeChange值為1;76提示(1)設置VScrollBar的LargeChange值添加VSCrollBar的ValueChanged
事件處理privatevoidvScrollBar1_ValueChanged(objectsender,EventArgse){intr,g,b;r=vScrRed.Value;g=vScrGreen.Value;b=vScrBlue.Value;Colorc=Color.FromArgb(r,g,b);pictureBox1.BackColor=c;lblRed.Text=r.ToString();lblGreen.Text=g.ToString();lblBlue.Text=b.ToString();Invalidate(false);}77添加VSCrollBar的ValueChanged
事件處理添加CheckBox的CheckedChanged
事件處理privatevoidcheckBox1_CheckedChanged(objectsender,EventArgse){if(checkBox1.Checked){foreach(Controlctlinthis.groupBox1.Controls){if(ctlisRadioButton){RadioButtonrdo=(RadioButton)ctl;if(rdo.Checked){this.rdo_CheckedChanged(rdo,null);break;}}}}else{pictureBox1.BackColor=this.BackColor;}}}78添加CheckBox的CheckedChanged
事件處理資源管理器實例DEMO5
79資源管理器實例DEMO5
33提示(1)設置ListView的View值為Details;(2)添加命名空間:usingSystem.IO;//添加引用,以使用文件和目錄類80提示(1)設置ListView的View值為Details;初始化左面的TreeView顯示publicvoidRefreshTree(){ //Turnoffvisualupdatingandcleartree. DirectoryTreeView.BeginUpdate(); DirectoryTreeView.Nodes.Clear(); //Makediskdrivestherootnodes. string[]astrDrives=Directory.GetLogicalDrives(); foreach(stringstrinastrDrives) {TreeNodetnDrive=newTreeNode(str,0,0); //ImageIndex=0;SelectedImageIndex=0 DirectoryTreeView.Nodes.Add(tnDrive);
AddDirectories(tnDrive); if(str=="C:\\") DirectoryTreeView.SelectedNode=tnDrive; } DirectoryTreeView.EndUpdate();}81初始化左面的TreeView顯示publicvoidRe添加各個驅(qū)動器節(jié)點voidAddDirectories(TreeNodetn){tn.Nodes.Clear();stringstrPath=tn.FullPath;DirectoryInfodirinfo=newDirectoryInfo(strPath);DirectoryInfo[]adirinfo;try{adirinfo=dirinfo.GetDirectories();}catch{return;}foreach(DirectoryInfodiinadirinfo){TreeNodetnDir=newTreeNode(di.Name,1,2);tn.Nodes.Add(tnDir);}}82添加各個驅(qū)動器節(jié)點voidAddDirectories(T添加TreeView的BeforeExpand響應事件,即在節(jié)點打開前執(zhí)行privatevoidDirectoryTreeView_BeforeExpand(objectsender,System.Windows.Forms.TreeViewCancelEventArgse){ DirectoryTreeView.BeginUpdate(); foreach(TreeNodetnine.Node.Nodes) AddDirectories(tn); DirectoryTreeView.EndUpdate();}83添加TreeView的BeforeExpand響應事件,即在填充ListView,顯示文件信息publicvoidShowFiles(stringstrDirectory){ //Savedirectorynameasfield. this.strDirectory=strDirectory; FileListView.Items.Clear(); DirectoryInfodirinfo=newDirectoryInfo(strDirectory); FileInfo[]afileinfo; try { afileinfo=dirinfo.GetFiles(); } catch { return; }84填充ListView,顯示文件信息publicvoidS foreach(FileInfofiinafileinfo) { //CreateListViewItem. ListViewItemlvi=newListViewItem(fi.Name); //AssignImageIndexbasedonfilenameextension. if(Path.GetExtension(fi.Name).ToUpper()==".EXE") lvi.ImageIndex=4; else lvi.ImageIndex=3;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 感染性疾病的預防
- 2025年鐵藝大門產(chǎn)品出口退稅與稅收籌劃合同3篇
- 2024年09月江蘇蘇州銀行數(shù)字銀行總部直銷銀行事業(yè)部招考(122)號筆試歷年參考題庫附帶答案詳解
- 2025版智能門衛(wèi)室改造與升級工程合同4篇
- 2025年度專業(yè)打印設備銷售及租賃合同7篇
- 2024年09月江蘇2024年興業(yè)銀行南京分行校園招考(無錫)筆試歷年參考題庫附帶答案詳解
- 2025年度美甲店美容護膚項目合作合同4篇
- 2024版挖掘機按揭采購合同范本
- 2024年08月廣西桂林銀行桂林分行社會招考(820)筆試歷年參考題庫附帶答案詳解
- 2024年05月青海光大銀行西寧分行社會招考(520)筆試歷年參考題庫附帶答案詳解
- TD/T 1060-2021 自然資源分等定級通則(正式版)
- 人教版二年級下冊口算題大全1000道可打印帶答案
- 《創(chuàng)傷失血性休克中國急診專家共識(2023)》解讀
- 倉庫智能化建設方案
- 海外市場開拓計劃
- 2024年度國家社會科學基金項目課題指南
- 供應鏈組織架構(gòu)與職能設置
- 幼兒數(shù)學益智圖形連線題100題(含完整答案)
- 2024年九省聯(lián)考新高考 數(shù)學試卷(含答案解析)
- 紅色歷史研學旅行課程設計
- 如何避免護理患者投訴
評論
0/150
提交評論