You are on page 1of 44

Chng 4: Gii thiu v cc iu khin (Control)

ng Thnh Trung

Ni dung chnh
B sung Control vo Window Form Thay i thuc tnh ca control Bt cc s kin ca Control Cc hp thoi Mt s Window Form Control To ra Menu Xy dng ng dng MDI
2

1. B sung Control vo Window Form

S dng Windows Form


Designer
Control c t ln b mt ca i tng Container.
i tng container bao gm: Window Form, Panel, Group Box.

Window Form Designer cung cp ToolBox (chn View/ToolBox hoc Ctrl+Alt+X) c cha cc loi Control khc nhau.
Ko th Control t ToolBox ln Form v sp xp chng theo mun.

B sung Control bng m lnh


B sung Control ln Form bng m lnh gm 3 bc sau:

To ra bin private i din cho tng Control m ta mun t ln Form. Trong form, vit m lnh khi to tng Control v thay i n bng cch s dng thuc tnh, phng thc v s kin. B sung tng control vo Control Collection ca Form
Gn Form hin thi l Parent Container ca Control
lblName.Parent = this;

B sung Control vo Control Collection ca Form


this.Controls.Add(txtName);

B sung mt tp hp cc Control vo Control Collection ca Form Container control c thuc tnh Controls cha tp hp cc i tng Control. Nu khng kt ni Control vi Parent Container Control th Control vn c to ra nhng khng c hin th.
5

this.Controls.AddRange(new Control[] {lblPassword, txtPassword, btnLogin});

2. Thay i thuc tnh ca Control

2 cch thay i thuc tnh ca Control


S dng ca s Properties:
Chn Control cn thay i thuc tnh. Trn ca s Properties, chn thuc tnh cn thay i v gn li gi tr thch hp.

S dng m lnh:
S dng c php ControlObject.PropertyName truy nhp vo thuc tnh ca i tng control. ControlObject l mt th hin ca Control PropertyName l mt thuc tnh ca control.

Mt s thuc tnh ca Control


Anchor Bm Control theo cc cnh ca Form.

Dock
Enabled Font

Ko rng Control theo cc pha ca Parent Control.


xc nh liu control c th p ng tng tc ca ngi s dng khng. Gn Font ch ca vn bn hin th trn control. Gi tr ca thuc tnh Font l mt i tng ca lp Font. Khng c thay i trong m lnh Xc nh v tr gc trn bn tri ca control vi v tr gc trn bn tri ca container control. Gi tr ca thuc tnh Location l kiu Point. 4 thuc tnh ph thuc vo Location l: Left (Location.X), Right (Location.X+Width), Top (Location.Y) v Bottom (Location.Y+Height). Xc nh chiu cao v chiu rng ca control. Gi tr ca thuc tnh ny l kiu Size l mt struct gm 2 thuc tnh Height v Width. Xc nh th t nhn focus ca control khi ngi s dng nhn phm Tab. Nu khng mun control nhn focus khi ngi s dng dng phm Tab, gn thuc tnh TabStop ca control bng false. L xu k t c lin quan ti control. Cc control khc nhau s dng thuc tnh Text theo cc cch khc nhau: Xc nh kh nng nhn thy control vo lc chy chng trnh.
8

Location

Size

TabIndex v TabStop Text Visible

3. Bt cc s kin ca Control
S kin ca control
K tha cc s kin ca lp System.Windows.Forms.Control cc s kin ring ca Control

Control c mt s kin mc nh.


S kin Click vi Button S kin Load ca Form S kin CheckedChanged ca CheckBox
9

4. Cc hp thoi
Th vin Windows Forms cung cp cc lp Dialog Box sau: ColorDialog: hin th cc mu v tr v mu c chn
FontDialog: hin th cc font v tr v font, kch thc, c chn OpenFileDialog: cho php ngi s dng duyt file v th mc, sau chn mt hoc nhiu file. PageSetupDialog: cho php ngi s dng la chn cc thit lp lin quan ti cch b tr trang. PrintDialog: cho php ngi s dng la chn cc vn lin quan n in v gi ti liu ti my in chn. PrintPreviewDialog: cho php ngi s dng xem file trc khi in. SaveFileDialog: cho php ngi s dng duyt file v th mc, sau chn file cn lu.

10

Common Dialog Box


Hp thoi c chia thnh 2 loi:
Modal - ShowDialog() Modeless - Show()

11

5. Mt s Window Form Control

12

5.1. Label v LinkLabel


Label c s dng hin th nhng thng tin read-only (VD: text v image). Mt s thuc tnh ca Label: Image: xc nh nh hin th trn label. Font: xc nh font ch hin th trn label Text: xu k t hin th trn label TextAlign: cn l. LinkedLabel tha k t Label v b sung thm cc chc nng lin quan ti hyperlink. ActiveLinkColor: xc nh mu hin th im link. DisabledLinkColor: xc nh mu ca im link c s dng. LinkArea: xc nh v tr t text LinkBehavior: xc nh cch hin th ca im link khi c chut di qua. Links: tr v tp cc i tng Link trong LinkLabel. Lp Link cha cc thng tin v hyperlink. Thuc tnh LinkData ca lp Link cho php ta gn URL vi hyperlink LinkLabel c coi nh mt phn ca im link

13

5.2. TextBox v RichTextBox


TextBox v RichTextBox u tha k t lp TextBoxBase. TextBox cho php ngi s dng nhp hoc hin th d liu. Mt s thuc tnh ca lp TextBox:
AcceptReturn: ch p dng khi TextBox hin th nhiu dng. AcceptReturn gn bng true cho php xung dng khi nhn phm Enter. CharacterCasing: xc nh k t nhp vo c cn thay i khng (Lower, Normal, Upper). MultiLine: xc nh TextBox c hin th nhiu dng khng. PasswordChar: k t hin th khi TextBox lm ni nhp mt khu. ReadOnly: khng cho nhp vo TextBox. ScrollBars: hin th thanh trt khi TextBox c nhiu dng. Text: ni dung ca TextBox WordWrap: xc nh text c t ng xung dng hay khng S kin TextChanged xy ra khi ni dung ca thuc tnh Text thay i.

14

TextBox v RichTextBox
RichTextBox tng t nh TextBox, nhng n c kh nng hin th ni dung phong ph hn. Mt s thuc tnh quan trng ca RichTextBox: DetectUrls: xc nh liu control c t pht hin v nh dng URLs. Rtf: xc nh ni dung ca RichTextBox bao gm c m RTF. SelectionColor: xc nh mu ca on text c chn. SelectionFont: xc nh font ca on text c chn. SelectedRtf: xc nh ni dung RTF c chn. ZoomFactor: xc nh mc zoom hin ti
15

5.3. PictureBox
hin th nh t cc file: metafile, icon, bitmap, JPEG, PNG v GIF. Mt s cc thnh phn quan trng ca lp PictureBox:
Image: nh hin th trn PictureBox. SizeMode: cch hin th nh
Kiu enum PictureBoxSize
AutoSize, CenterImage, Normal, StretchImage.

16

5.4. GroupBox v Panel


GroupBox l container control, c kh nng cha cc control khc.
c s dng sp xp cc control v nhm cc control tng t nhau. Controls: xc nh tp cc control cha

Panel l container control.

trong GroupBox Text: xc nh ni dung hin th trn GroupBox

AutoScroll: xc nh thanh trt c c hin th khng Controls: xc nh tp cc control cha trong Panel
17

5.5. Button, CheckBox, RadioButton


Cc lp Button, CheckBox, RadioButton u tha k t lp ButtonBase. S dng Button khi to mt hnh ng c th khi ngi s dng click n. CheckBox v RadioButton thng c s dng lu trng thi (chn hoc khng chn). Thng c nhm li. CheckBox cho php chn 0/1/n la chn t mt tp hp RadioButton cho php chn 1 la chn t mt tp hp.
Nu mun chn nhiu RadioButton th phi t chng trn cc container control khc nhau.
18

Mt s thuc tnh ca Button


Image: xc nh nh hin th trn Button Text: xc nh vn bn hin th trn Button S kin Click xy ra khi ngi s dng click chut.

19

Mt s thuc tnh ca CheckBox


Checked: tr v true nu chn CheckBox; ngc li tr v false CheckState: xc nh trng thi ca Checkbox, gi tr thuc kiu enum CheckState (Checked, Unchecked, Indeterminate).
Khi chn Indeterminate th Checked vn tr v true Nn s dng CheckState xc nh trng thi ca CheckBox.

ThreeState

Text: xc nh vn bn hin th trn CheckBox. S kin CheckedChanged xy ra khi gi tr Checked b thay i.

Bng true th CheckBox c 3 trng thi. Bng false th gi tr Indeterminate ch c gn thng qua m lnh, khng phi do ngi s dng.

20

Mt s thuc tnh ca RadioButton


Checked: tr v true hoc false xc nh RadioButton c c chn hay khng. Text: xc nh vn bn hin th trn CheckBox. S kin CheckedChanged xy ra khi gi tr Checked b thay i.

21

5.6. ListBox, CheckedListBox v ComboBox


ListBox cho php ta la chn mt hoc nhiu gi tr t mt danh sch cc gi tr cho trc. ColumnWidth: xc nh rng ca mt ct trong ListBox c nhiu ct. ItemHeight: xc nh chiu cao ca mt item trong ListBox. Items: tp hp cc i tng biu din danh sch cc item trong ListBox. MultiColumn: thuc tnh xc nh liu ListBox c c chia thnh nhiu ct hay khng. SelectedIndex: xc nh index ca item ang c chn. SelectedIndices: xc nh tp cc index ca tt c cc item c chn. SelectedItem: xc nh item c chn SelectedItems: xc nh tp hp cc item c chn SelectionMode: xc nh s lng cac item c chn. Gi tr ca n l kiu enum SelectionMode. Sorted: xc nh ListBox c c sp xp theo th t. S kin SelectedIndexChanged xy ra khi index b thay i. FindString(): phng thc xc nh item u tin trong ListBox c ni dung bt u vi mt string cho trc. FindStringExact(): phng thc xc nh item u tin trong ListBox c ni dung ging ht ni dung ca mt string cho trc.
22

CheckedListBox
CheckListBox tha k t ListBox Hin th mt tp cc item, mi item tng ng vi mt CheckBox. Mt s thnh phn chnh ca CheckListBox: CheckedIndices: xc nh tp cc index ca tt c cc item c chn. CheckedItems xc nh tp hp cc item c chn SelectionMode: xc nh s lng cac item c chn. Gi tr ca n l kiu enum SelectionMode: Sorted: xc nh ListBox c c sp xp theo th t. S kin ItemCheck xy ra khi thay i thuc tnh checked ca mt item
23

ComboBox
ComboBox tng t nh ListBox, ngoi tr vic c th nhp vo text v ch c chn mt item. Mt s thnh phn ca ComboBox: DrawMode: xc nh cch v cc item ca ComboBox. Gi tr ca n l kiu enum DrawMode. DropDownStyle: biu din kiu ca ComboBox. Gi tr ca n c xc nh bi enum DropDownStyle. DropDownWidth: xc nh chiu rng ca phn drop-down trn ComboBox. Items: xc nh tp cc item trong ComboBox. MaxDropDownItems: xc nh s item ln nht c th c trn dropdown; nu s lng item ln hn th s xut hin thanh cun. MaxLength: xc nh chiu di xu ln nht c nhp vo ComboBox. SelectedIndex: xc nh index ca item hin thi c chn. Tr v -1 nu khng c item no c chn. SelectedItem: xc nh item hin thi c chn SelectedText: xc nh string trn phn edit. Sorted: xc nh cc item c c sp xp hay khng. S kin SelectedIndexChanged xy ra khi thuc tnh SelectedIndex thay i.
24

5.7. DomainUpDown v NumericUpDown


Tha k t lp System.Windows.Forms.UpDownBase. S dng bng cch:

DomainUpDown cho php la chn t mt tp cc i tng. NumericUpDown cha tp hp gi tr s.


Khi mt item c chn, i tng s c convert thnh String v hin th.

La chn cc gi tr t mt tp hp cc gi tr c sp xp bng cch nhn cc nt up/down. Nhp gi tr vo control nu thuc tnh ReadOnly ca n c gn bng false.

25

DomainUpDown
Items: biu din tp i tng c gn cho control. ReadOnly: xc nh c th nhp gi tr hay khng SelectedIndex: xc nh gi tr index ca item c chn SelectedItem: xc nh gi tr ca cc item c chn Sorted: xc nh tp hp cc item c c sp xp hay khng. Wrap: xc nh thuc tnh SelectedIndex c c iu chnh li ti item u tin hoc cui cng nu ngi s dng tip tc di chuyn n cui danh sch. S kin SelectedItemChanged: xy ra khi thuc tnh SelectedIndex b thay i.
26

NumericUpDown
Increment: xc nh bc tng hoc gim. Maximum: xc nh gi tr ln nht c php Minimum: xc nh gi tr nh nht c php ReadOnly: xc nh c th nhp li gi tr ThousandsSeparator: xc nh du phn bit hng nghn Value: xc nh gi tr c gn cho control S kin ValueChanged xy ra khi thuc tnh Value b thay i.
27

5.8. MonthCalendar
MonthCalendar cung cp giao din rt thn thin ngi s dng la chn thi gian.
CalendarDimensions: xc nh s ct hoc dng ca thng hin th. FirstDayOfWeek: biu din ngy u tin trong tun. MaxDate: ngy ln nht c th hin th. MaxSelectionCount: xc nh s lng ngy ln nht c chn. MinDate: ngy nh nht c th hin th. SelectionEnd: xc nh ngy cui cng trong nhng ngy chn. SelectionRange: xc nh cc ngy chn. SelectionStart: xc nh ngy u tin trong nhng ngy chn. ShowToday: hin th hay khng ngy hin thi pha di control ShowWeekNumbers: hin th hay khng th t ca tun (1-52) TodayDate: cho bit ngy hin ti S kin DateChanged xy ra khi chn li ngy trn control. S kin DateSelected xy ra khi chn date trn form.

28

DateTimePicker
Cho php ngi s dng la chn ngy thng v thi gian theo nhng nh dng khc nhau.
CustomFormat: biu din xu nh dng date/time. Ch c tc dng khi Format = Custom Format: xc nh nh dng date/time da trn cc gi tr ca kiu enum DateTimePickerFormat. MaxDate l date/time ln nht c la chn MinDate l date/time nh nht c la chn ShowCheckBox: CheckBox c c hin th pha bn tri ngy c chn. ShowUpDown: UpDown c c hin th Value: biu din gi tr date/time c chn S kin ValueChanged xy ra khi thuc tnh Value b thay i. S kin FormatChanged xy ra khi thuc tnh Format thay i

29

5.9. TreeView
TreeView c s dng hin th tp hp cc nt phn cp. Mi nt l mt i tng TreeNode.
S kin AfterCheck xy ra khi TreeNode b check S kin AfterCollapse xy ra khi TreeNode b co li S kin AfterExpand xy ra khi TreeNode c m ra S kin AfterSelect xy ra khi TreeNode b select CheckBoxes: xc nh check box c c hin th bn cnh TreeNode ImageList: cha cc icon ca TreeNode Nodes: xc nh tp hp cc TreeNode Scrollable: thanh trt c c hin th hay khng SelectedNode: biu din TreeNode c select Sorted: TreeNode c c sp xp hay khng
30

ListView
ListView c s dng hin th danh sch cc item. Mi item trong danh sch c tn v c icon tng ng vi n.
Activation: xc nh cch active mt item, kiu gi tr l kiu enum ItemActivation. CheckBoxes: xc nh Check Box c c hin th bn cnh item CheckedIndices: xc nh tp hp cc index ca cc item c check. CheckedItems xc nh tp hp cc item c check. Items: xc nh tp cc item ca ListView LargeImageList biu din ImageList c s dng hin th icon ln. MultiSelect: cho php chn nhiu item. Scrollable: thanh trt xut hin khi kch thc ca item vt qu kich thc ca client area. SelectedIndices: xc nh tp cc index ca cc item c select. SelectedItems: xc nh tp cc item c select. SmallImageList: biu din ImageList c s dng hin th icon nh Sorting: sp xp cc item theo th t ca enum SortOrder. View: cch hin th cc item, s dng cc gi tr ca kiu enum View S kin ItemActivate xy ra khi item c activate. S kin ItemCheck xy ra khi trng thi check ca item b thay i. S kin SelectedIndexChanged xy ra khi thay i index.

31

5.10. Timer
Timer c s dng khi mt s kin c to ra trong mt khong thi gian cho trc. Lp System.Timers.Timer kch hot s kin Tick t mt thread khc.
Enabled: xc nh Timer c hot ng khng. Interval: khong thi gian kch hot s kin (tnh bng ms). Phng thc Start() khi to Timer Phng thc Stop() kho Timer S kin Tick xy ra khi n khong thi gian Interval.

32

TrackBar
TrackBar cung cp mt cch trc quan la chn gi tr t mt chui cho trc thng qua hp cun v gi tr t l.
LargeChange: xc nh gi tr ln nht khi di chuyn hp cun. Maximum: xc nh phm vi ln nht ca TrackBar Minimum: xc nh phm vi nh nht ca TrackBar Orientation: biu din hng ngang v dc ca TrackBar. SmallChange: xc nh gi tr nh nht khi di chuyn hp cun. TickFrequency: biu din tn sut v ng di chuyn. TickStyle xc nh cch hin th ca ng dch chuyn, gi tr kiu enum TickStyle. Value: biu din v tr hin thi ca hp cun. ValueChanged: xy ra khi thuc tnh Value thay i thng qua s kin Scroll hoc lp trnh. S kin Scroll xy ra khi hp cun b di chuyn bi chut hoc bn phm.

33

ProgressBar
c s dng ch ra trng thi v thi gian ca mt thao tc nh: ci t, copy file ..
Maximum: xc nh bin trn ca tin trnh Minimum: xc nh bin di ca tin trnh Value: biu din gi tr hin ti ca ProgressBar
34

5.11. HscrollBar v VscrollBar


HScrollBar v VScrollBar hin th thanh trt ngang v dc. Lp HScrollBar v VScrollBar tha k t lp ScrollBar.
LargeChange: ch ra s lng khi Value thay i th xut hin thanh trt. Maximum: xc nh phm vi trn ca thanh trt. Minimum:xc nh phm vi trn ca thanh trt. SmallChange: ch ra s lng khi Value thay i th b thanh trt. Value: biu din v tr hin thi ca thanh trt. S kin ValueChanged xy ra khi thuc tnh Value thay i thng qua lp trnh hoc thng qua s kin Scroll. S kin Scroll xy ra khi trt thanh.

35

5.12. TabControl
TabControl hin th mt tp hp cc trang. Mi trang c cha cc control ca chnh n. TabControl c s dng sp xp mt s lng ln cc control v chng s chim t khng gian hn.
Alignment: l vng m cc tab c cn l. ImageList: l ImageList control c s dng hin th nh trn tab. MultiLine: xc nh liu tab c c hin th trn nhiu dng. SelectedIndex: biu din index ca trang tab c chn. S kin SelectedIndexChanged xy ra khi thuc tnh SelectedIndex b thay i gi tr. SelectedTab: biu din trang tab c chn. TabCount: cho bit s lng tranng tab TabPages: xc nh tp hp cc trang tab.
36

6. To ra Menu
Cc lp c lin quan ti menu: MainMenu, MenuItem v ContextMenu u tha k t lp Menu. MainMenu v ContextMenu u c thuc tnh MenuItems.
MenuItems l mt tp hp cc i tng MenuItem Mi i tng biu din mt item ca menu.
37

Mt s thnh phn chnh ca MenuItem


Checked: xc nh mi item c checkmark hoc radiobutton bn cnh hay khng. Enabled: xc nh menu item c c php s dng hay khng. MenuItems: xc nh tp cc i tng MenuItem c quan h vi menu v c s dng to ra cp trc menu phn cp. Parent: cho bit menu cha ca mt menu item. RadioCheck: xc nh menu item c radio button bn cnh khng. Shortcut: xc nh phm tt ca menu item. Text: xc nh text hin th trn menu item. S kin Click xy ra khi ngi s dng select menu item. S kin Popup xy ra trc khi submenu xut hin. S kin ny thng c s dng add, remove, enable, disable,check, uncheck menu item trc khi hin th n. S kin Select xy ra khi ngi s dng select menu item. Phng thc PerformClick to ra s kin Click cho menu item tng t nh ngi s dng click n.
38

6.1. MainMenu
MainMenu l container control. Mi Window Form ch c mt i tng MainMenu, c xc nh thng qua thuc tnh Menu ca i tng Form. Thnh phn quan trng nht ca MainMenu l MenuItems

39

6.2. ContextMenu
ContextMenu ch c mt menu item mc nh. Mt ContextMenu thng c gn vi mt Control hoc mt Form thng qua thuc tnh ContextMenu.

40

6.3. StatusBar
StatusBar c s dng hin th thng tin v thng c t pha di ca Form. Khi b sung StatusBar ln Form ta phi gn z-order ca n StatusBar khng chng ln cc control khc, bng cch click chut phi trn StatusBar v chn Send to Back.
Panels l mt tp hp cc i tng StatusBarPanel. Panels chia StatusBar thnh nhiu vng Alignment: xc nh cch cn l ca text v icon trn panel. AutoSize: xc nh cch panel t iu chnh kch thc. Gm 3 gi tr: None, Contents v Spring. BorderStyle: xc nh kiu bin. Gm 3 gi tr: None, Raised, v Sunken. Icon: icon hin th trn StatusBar. ToolTipText: xc nh ToolTip hin th trn StatusBar.
41

6.4. ToolBar
ToolBar c s dng to ra thanh cng c trong Window v thng c gn pha di MainMenu. (ch gn li z-order)
Buttons: xc nh mt tp cc i tng ToolBarButton. ImageList: xc nh i tng ImageList lu tr trn icon. ShowToolTips: xc nh liu toolbar c hin th ToolTips hay khng. C th vin dn menu item bng cch gi phng thc PerformClick() trn i tng MenuItem.
Cn phi bit menu no vin dn ToolBarButton. ToolBarButton cung cp thuc tnh Tag - lu bt k i tng no cn c gn vi ToolBarButton.

S kin ButtonClick xy ra khi toolbar button b click.


42

7. Xy dng ng dng MDI


ng dng MDI c mt Form cha v cc Form con. Khng th di chuyn Form con ra ngoi Form cha. C th m nhiu Form con cng mt lc. Cc Form con ng, m, max, min khng ph thuc vo nhau. Nhng nu Form cha ng th tt c cc Form con u ng. Form cha thng c menu chnh. to ra MDI form, vn to ra Form nh thng thng v i thuc tnh IsMdiContainer thnh true. to ra Form con, vn to ra Form nh thng thng v gn MdiParent l form MDI to ra.

43

Mt s thnh phn ca lp Form c lin quan n MDI Form:


ActiveMdiChild: xc nh MDI child ang c active IsMdiContainer: xc nh Form c phi l MDI Container hay khng. MdiChildren: xc nh mng cc MDI child Form ca mt Form MdiParent: xc nh MDI parent form ca Form hin thi Phng thc LayoutMdi() sp xp cc MDI child Form trong MDI parent Form S kin MdiChildActivate xy ra khi MDI child Form c active hoc ng ng dng MDI.

44

You might also like