Professional Documents
Culture Documents
3 LaptrinhGUI
3 LaptrinhGUI
1
Lp trnh GUI
User interface modeling
User interface architecture
User interface coding
2
The Control class hierarchy
3
Windows Forms Application Structure
A Windows Forms application has three pieces
the application itself
forms in the application
controls on the form
4
GUI Tree Structure
GUI Internal structure
Form
Form
containers
Button
Panel
Button
Panel
Label Label
5
Cch to WinForm bng Console Application
6
Project Add Reference
7
Form
Mt form l mt ca s mn hnh - mt
n v giao din ngi dng do Microsoft
a ra k t Windows 1.0
Mt ng dng Windows Forms (WinForms)
phi c t nht mt ca s main form
(ca s chnh
Form c th cha cc component
Form c th c cc file resource
8
V d 1
class Program
{
static void Main(string[] args)
{
Form f = new Form();
Application.Run(f);
}
}
9
V d 2
class Program
{
static void Main(string[] args)
{
MessageBox.Show("Hello World");
}
}
10
Application class
Exit Stops all running message loops and closes all windows in the
application. Note that this may not force the application to exit
Run Starts a standard message loop on the current thread. If a
Form is given, also makes that form visible.
DoEvents Processes any Windows messages currently in the message
queue.
11
V d 3
public static void Main()
{
Form form1 = new Form();
Form form2 = new Form();
Application.Run(form1);
13
Form Properties
Thuc tnh Kiu M t
FormBorderStyle FormBorderStyle: Kiu ng vin
FixedDialog,
Fixed3D
16
StartPosition - FormBorderStyle
17
V d 4
18
V d 4
static void Main(string[] args)
{
Form form = new Form();
Application.Run(form);
}
19
Form Method
Show()
ShowDialog();
Hide();
Close();
20
21
Form Event
Click
DoubleClick
KeyDown
MouseHover
Paint
Resize
22
S kin form Load
class Program
{
static void Main(string[] args)
{
Form f = new Form();
f.Load += new EventHandler(f_Load);
Application.Run(f);
}
private static void f_Load(object sender, EventArgs e)
{
MessageBox.Show("Hello ");
}
}
23
Events
Mt event l mt i tng biu din mt hnh ng
V d:
The mouse is moved or button clicked
The mouse is dragged
A graphical button is clicked
A keyboard key is pressed
A timer expires
S kin thng tng ng vi thao tc ca ngi dng
C th vit cc b p ng s kin
Program:
Put N1+N2
25
Call me when you Event
Button are pressed Handler
Handler
GUI Control Handler 2 GUI Control
Handler 3
calls Handler 1 for event E
calls
Object A raises event E Delegate for event E Handler 2 for event E
1. button1.Click += button1_click( )
click
Button1 Button1_click()
2. button1_Click( ) callback 30
Event Handler
Thng ip gi i bng cch chuyn giao.
B x l s kin(Event Handler) s c
gi khi s kin tng ng pht sinh
31
Form - Click
static void Main(string[] args)
{
Form f = new Form();
f.Click+=new EventHandler(f_Click);
Application.Run(f);
}
private static void f_Click(object sender, EventArgs e)
{
MessageBox.Show("Bn click chut");
}
32
Paint Event
class Program
{
static void Main(string[] args)
{
Form f = new Form();
f.Click+=new EventHandler(f_Click);
Application.Run(f);
}
static void f_Click(Object sender, EventArgs e) {
Form f = (Form)sender;
Graphics gx = f.CreateGraphics();
gx.DrawString("Form 1 \n Form 1\n", f.Font, Brushes.Black, 30, 30);
}
}
33
Paint Event
class Program
{
static void Main(string[] args)
{
Form f = new Form();
f.Paint+=new PaintEventHandler(f_Paint);
Application.Run(f);
}
static void f_Paint(Object sender, PaintEventArgs e)
{
Form f = (Form)sender;
Graphics gx = f.CreateGraphics();
gx.DrawString("Form 1 \n Form 1\n", f.Font, Brushes.Black, 30, 30);
}
}
34
static void Main(string[] args)
{
Form f1 = new Form();
f1.Text = "2 Paint Event";
f1.BackColor=Color.White;
f1.Paint += new PaintEventHandler(f1_Paint1);
f1.Paint += new PaintEventHandler(f1_Paint2);
Application.Run(f1);
}
public Myform()
{
Text = "My Form Class";
}
}
36
K tha Form
class Myform:System.Windows.Forms.Form
{
public Myform()
{
Text = "My Form Class";
}
protected override void OnPaint(PaintEventArgs pea)
{
Graphics g=pea.Graphics;
g.DrawString("Hello World", Font, Brushes.Red,20,20);
}
}
37
K tha Form
class Program
{
static void Main(string[] args)
{
Myform f=new Myform();
f.Text = "Ke thua tu " + f.Text;
f.Paint+=new PaintEventHandler(f_Paint);
Application.Run(f);
}
static void f_Paint(Object sender, PaintEventArgs pea)
{
Form form = (Form)sender;
Graphics g = pea.Graphics;
g.DrawString("New Hello World", form.Font, Brushes.Red, 50, 50);
}
}
38
K tha Form
class Myform:System.Windows.Forms.Form
{
public Myform()
{
Text = "My Form Class";
}
protected override void OnPaint(PaintEventArgs pea)
{
base.OnPaint(pea);
Graphics g=pea.Graphics;
g.DrawString("Hello World", Font, Brushes.Red,20,20);
}
}
39
MessageBox.Show
MessageBox.Show (String strText)
MessageBox.Show (String strText, String strCaption)
MessageBox.Show (String strTex, String strCaption,
MessageBoxButtons mbb)
MessageBox.Show (String strTex, String strCaption,
MessageBoxButtons mbb, MessageBoxIcon mbi)
MessageBox.Show (String strTex, String strCaption,
MessageBoxButtons mbb, MessageBoxIcon mbi,
MessageBoxDefaultButton mbdb)
MessageBox.Show (String strTex, String strCaption,
MessageBoxButtons mbb, MessageBoxIcon mbi,
MessageBoxDefaultButton mbdb, MessageBoxOptions mbo)
40
MessageBox Buttons
Member Value
Ok 0
OkCancel 1
AbortRetryIgnore 2
YesNoCancel 3
YesNo 4
RetryCancel 5
41
MessageBox Icon
Member Value
None 0x00
Hand 0x10
Stop 0x10
Error 0x10
Question 0x20
Exclamation 0x30
Warning 0x30
Asterisk 0x40
Information 0x40
42
43
Form Controls
L n v c s to nn giao din ngi dng trong
lp trnh WinForm.
L bt k i tng no nm trong vng cha ca
Container c kh nng tng tc vi ngi s dng.
L i tng dng nhn d liu c nhp vo hoc
xut d liu trn window form
Cc control c cc c im, cc phng thc v cc
s kin ring cho control
44
Thuc tnh chung
Properties
BackColor
CanFocus
Enabled
ForeColor
Name
Text
Visible
45
Cc lp c s
System.Windows.Forms.Control -cha chc nng c bn ca thao
tc x l bn phm v nhp t chut v x l tin nhn window.
System.Windows.Forms.ButtonBase - Lp ny h tr chc nng c
bn ca mt nt
System.Windows.Forms.TextBoxBase - cung cp chc nng v thuc
tnh thng thung cho cc lp tha hng. C hai lp TextBox v
RichTextBox s dng chc nng cung cp bi TextBoxBase.
System.Windows.Forms.ScrollableControl - qun l s pht sinh v
hin th ca cc thanh cun n ngi dng truy cp n gc ca
mt hin th.
System.Windows.Forms.ContainerControl - Lp ny qun l chc
nng yu cu cho mt control hnh ng
System.Windows.Forms.Panel - c th cha cc control thm vo,
nhng khc vi lp ContainerControl, n phn loi cc control mt cch
n gin.
System.Windows.Forms.Form - To bt k loi ca s no: standard,
toolbox, borderless, modal dialog boxes v multi-document interfaces.
System.Windows.Forms.UserControl - to mt custom control n
vic c dng trong mt ni phc tp trong mt ng dng hay t chc
46
STANDARD CONTROL
Mt i tng control k tha trc tip/ gin tip t
System.Windows.Forms.Control
C cc loi:
Action control: Button, Toolbar, MenuBar,
ContextMenu
Value control: Label, TextBox, PictureBox
List control: ListBox, ComboBox, DataGrid, TreeView,
Container control: GroupBox, Panel, ImageList,
Dialogs:OpenFileDialog, SaveFileDialog,
PrintDialog, etc
47
Buttons
Control M t
Button Normal button for actions (e.g., OK or Cancel)
CheckBox Yes/no selection button
RadioButton Single selection from a range of choices
48
Labels and pictures
Control M t
GroupBox Visual grouping for sets of related controls
Text label, usually providing a name or description for
Label
some other control (e.g., a text box)
A picture: supports various bitmap formats (BMP, ICO,
PictureBox
JPEG, TIFF, and PNG) and Windows metafiles
Hyperlink, e.g., a URL; this effectively combines label-
LinkLabel
like and button-like behavior
49
Text editing
Control M t
TextBox An editable text field (plain text only)
An editable text fields supporting text with
RichTextBox
formatting (based on RTFthe Rich Text Format)
A text box containing a number, and an associated
NumericUpDown pair of up/down buttons (often known as a spin
control)
Similar to a NumericUpDown, only the text box can
DomainUpDown contain any string; the up and down buttons move
through a list of strings
50
Lists and data
Control M t
A vertical list of selectable text items (items may also
ListBox
have images)
An editable text field with an associated drop-down list
ComboBox
of selectable items
A list of selectable items similar to the contents of a
ListView Windows Explorer window; supports Large Icon, Small
Icon, List and Details views
A hierarchical display, similar to that used in the Folders
TreeView
pane of Windows Explorer
A UI for editing properties on some object; very similar
PropertyGrid
to the Properties panels in Visual Studio .NET
DataGrid A grid control showing the contents of a DataSet
51
Position and progress bars
Control M t
HScrollBar A horizontal Windows scrollbar
VScrollBar A vertical Windows scrollbar
A UI for selecting from a linear range of values (useful
TrackBar
for continuous ranges such as percentages)
A bar indicating what proportion of a long-running task
ProgressBar
has completed
52
Layout
Control M t
Allows multiple similarly sized dialogs to share a single window,
TabControl with card index style tabs selecting between themsimilar to
those used on Properties pages in Windows Explorer
A bar dividing two parts of a window either vertically or
horizontally, allowing the proportion of space given to the two
Splitter
parts to be modifiedsimilar to the divider between the Folders
pane and the main pane of a Windows Explorer window
A bar along the bottom of the window providing textual
StatusBar information appropriate to the application, and a window resizing
grip (most Windows applications have these)
A bar containing shortcut buttons to frequently used UI operations
ToolBar
(most Windows applications have these)
53
Label
PROPERTIES Methods
Image
TabStop
Events
Paint
54
TextBox
PROPERTIES Methods
AcceptReturn
ReadOnly
Passwordchar
MaxLength Cut
Events Copy
Multiline
ScrollBars TextChanged
55
Button
PROPERTIES Methods
DialogResult
TextAlign Events
56
ListBox control
ListBox control c dng hin th danh sch
cc phn t.
Ngi dng c th chn mt hay nhiu phn t
t list.
Bn c th thm phn t mi vo list thng qua
ca s property editor hoc l thng qua m
chng trnh lc chy.
Cc thuc tnh thng gp:
SelectionMode
Sorted
SelectedIndex
SelectedItem 57
ListBox [1]
PROPERTIES
Items SelectedItems
MultiColumn
Sorted
SelectedIndex SelectedValue
SelectedItem
Text
58
ListBox [2]
Methods Events
ClearSelected SelectedIndexChanged
GetSelected
FindString SelectedValueChanged
SetSelected
59
CheckedListBox
PROPERTIES Methods
SetItemChecked
CheckedIndices
GetItemChecked
ThreeDCheckBoxes
CheckedItems GetItemCheckState
Events SetItemCheckState
ItemCheck
60
ComboBox control
Dng hin th danh sch cc phn t, tuy
nhin ComboBox hin th cc danh sch ny theo
kiu drop down.
ComboBox c cho php ngi dng nhp d liu
vo.
Cc phn t trong ComboBox c th c thm
vo thng qua property editor hoc m chng
trnh lc chy.
Mt s cc thuc tnh thng dng:
Text
Sorted
SelectedIndex
SelectedItem
61
ComboBox
PROPERTIES Methods
DropDownStyle Select
Focused SelectAll
MaxDropDownItems
Events
DropDown
62
CheckBox control
CheckBox control dng hin th Yes/No
hay ng/sai.
Cc thuc tnh thng dng:
Text
Checked
CheckBox control cho php ngi dng
chn nhiu hn 1 la chn
63
RadioButton control
Dng cho ngi dng chn mt la
chn.
Trong mt nhm, ch c mt RadioButton
c chn.
Cc thuc tnh thng c s dng:
Text
Checked
64
Thm control
static void Main(string[] args)
{
Form f1 = new Form();
Button b = new Button();
b.Text = "OK";
b.Click+=new EventHandler(b_Click);
b.Location = new Point(10, 10);
Button b1 = new Button();
b1.Text = "Exit";
b1.Click += new EventHandler(b1_Click);
b1.Location= new Point(b.Left, b.Height + b.Top + 10);
f1.Controls.Add(b);
f1.Controls.Add(b1);
f1.Text = "2 Paint Event";
f1.BackColor=Color.White;
f1.AcceptButton = b;
f1.CancelButton = b1;
Application.Run(f1);
}
65
Thm control
static void b_Click(Object sender, EventArgs e)
{
MessageBox.Show("Hello World");
}
static void b1_Click(Object sender, EventArgs e)
{
Application.Exit();
}
66
KiU TRNH BY NG
Anchoring
67
KiU TRNH BY NG
Docking
68
LAYOUT CONTROLS
SplitContainer
69
LAYOUT CONTROLS
FlowLayout
70
LAYOUT CONTROLS
TableLayoutPanel
71
1: using System;
2: using System.Windows.Forms;
3: using System.Drawing;
4: 5: namespace TYWinforms.Day2 {
6: 7: public class Calculator : Form {
8: private Button btnAdd;
9: private TextBox tbNumber1;
10: private TextBox tbNumber2;
11: private Label lblAnswer;
12: 13: public static void Main() {
14: Application.Run(new Calculator());
15: }
16: 17: public Calculator() {
18: this.btnAdd = new Button();
19: this.tbNumber1 = new TextBox();
20: this.tbNumber2 = new TextBox();
21: this.lblAnswer = new Label();
22: 23: tbNumber1.Location = new Point(0,0);
24: tbNumber2.Location = new Point(100,0);
25: 26: btnAdd.Location = new Point(0,25); 72
27: btnAdd.Text = "Add";
28: btnAdd.Click += new EventHandler(this.Add);
29: 30: lblAnswer.Location = new Point(0,75);
31: 32: this.Controls.Add(btnAdd);
33: this.Controls.Add(tbNumber1);
34: this.Controls.Add(tbNumber2);
35: this.Controls.Add(lblAnswer);
36: }
37:
38: public void Add(object Sender, EventArgs e) {
39: lblAnswer.Text = Convert.ToString(Convert.ToInt32
40: (tbNumber1.Text) + Convert.ToInt32(tbNumber2.Text));
41: }
42: }
43: }
73
3.MENU
74
Menu
Nhm cc lnh lin quan vi nhau
Gm:
Commands
Submenus
Mi chn la c event handler ca n
75
Menu
Menu Shortcut
key
Disabled
command
submenu
Separator bar
Checked
menu
item
76
Thuc tnh Main Menu
77
Thuc tnh MenuItem
Checked Whether menu item appears checked (according to
property RadioCheck). Default false,
meaning that the menu item is not checked.
Index Items position in parent menu.
MenuItems Collection of submenu items for this menu item.
MergeOrder This property sets the position of menu item when
parent menu merged with another menu.
MergeType This property takes a value of the MenuMerge
enumeration. Specifies how parent menu merges
with another menu. Possible values are Add,
MergeItems, Remove and Replace.
78
Thuc tnh MenuItem
RadioCheck If true, menu item appears as radio button (black
circle) when checked; if false, menu item
displays checkmark. Default false.
Shortcut Shortcut key for the menu item (i.e. Ctrl + F9 can
be equivalent to clicking a specific item).
ShowShortcut If true, shortcut key shown beside menu item
text. Default true.
Text Text to appear on menu item. To make an Alt
access shortcut, precede a character with & (i.e.
&File for File).
Enabled
Visible
DefaultItem
79
Menu Constructors
MainMenu();
MainMenu(Menultem[] ami); FormName.Menu = mMenu
ContextMenu()
ContextMenu(Menultem[] ami)
FormName.ContextMenu = cMenu
MenuItem()
Menultem(string strText)
Menultem(string strText, EventHandler ehClick)
Menultem(string strText, EventHandler ehClick, Shortcut sc)
Menultem(string strText, Menultem[] ami)
mMenu.MenuItems.Add(miItem)
cMenu. .MenuItems.Add(miItem)
80
class MenuForm:Form
{
MainMenu mMenu;
MenuItem mFile;
MenuItem miFileOpen;
public MenuForm()
{
mMenu = new MainMenu();
mFile=new MenuItem();
mFile.Text="File";
miFileOpen = new MenuItem();
miFileOpen.Text = "Open";
miFileOpen.Click+=new EventHandler(miFileOpen_Click);
mFile.MenuItems.Add(miFileOpen);
mMenu.MenuItems.Add(mFile);
this.Menu = mMenu;
}
void miFileOpen_Click(Object sender, EventArgs ea)
{
MessageBox.Show("Menu Open Click");
} 81
}
class MenuForm:Form
{
MainMenu mMenu;
MenuItem mFile;
MenuItem miFileOpen;
public MenuForm()
{
86
Cch vit khc
MenuItem miFile = new MenuItem("&File", new MenuItem[]
{
new MenuItem("&Open...",
new EventHandler(MenuFileOpenOnClick),
Shortcut.CtrlO),
new MenuItem("&Save",
new EventHandler(MenuFileSaveOnClick),
Shortcut.CtrlS),
new MenuItem("Save &As...",
new EventHandler(MenuFileSaveAsOnClick)),
new MenuItem("-"),
new MenuItem("E&xit",
new EventHandler(MenuFileExitOnClick))
});
87
Bi tp
88
89
class CheckAndRadioCheck : Form
{
MenuItem miColor, miFill;
public CheckAndRadioCheck();
void MenuFormatColorOnClick(object obj, EventArgs ea);
void MenuFormatFillOnClick(object obj, EventArgs ea);
protected override void OnPaint(PaintEventArgs pea);
}
90
public CheckAndRadioCheck()
{
Text = "Check and Radio Check";
ResizeRedraw = true;
string[] astrColor = {"Black", "Blue", "Green", "Cyan",
"Red", "Magenta", "Yellow", "White"};
MenuItem[] ami = new MenuItem[astrColor.Length + 2];
EventHandler ehColor = new EventHandler(MenuFormatColorOnClick);
for (int i = 0; i < astrColor.Length; i++)
{
ami[i] = new MenuItem(astrColor[i], ehColor);
ami[i].RadioCheck = true;
}
miColor = ami[0];
miColor.Checked = true;
ami[astrColor.Length] = new MenuItem("-");
miFill = new MenuItem("&Fill, new EventHandler(MenuFormatFillOnClick));
ami[astrColor.Length + 1] = miFill;
MenuItem mi = new MenuItem("&Format", ami);
Menu = new MainMenu(new MenuItem[] { mi });
} 91
void MenuFormatColorOnClick(object obj, EventArgs ea)
{
miColor.Checked = false;
miColor = (MenuItem)obj;
miColor.Checked = true;
Invalidate();
}
92
protected override void OnPaint(PaintEventArgs pea)
{
Graphics grfx = pea.Graphics;
if (miFill.Checked)
{
Brush brush = new SolidBrush(Color.FromName(miColor.Text));
grfx.FillEllipse(brush, 0, 0, ClientSize.Width - 1,
ClientSize.Height - 1);
}
else
{
Pen pen = new Pen(Color.FromName(miColor.Text));
grfx.DrawEllipse(pen, 0, 0, ClientSize.Width - 1,
ClientSize.Height - 1);
}
}
93
DIALOG
94
GII THIU
Dialog l 1 Windows Form c bit dng
tng tc vi ngi s dng v cung
cp cc thng bo.
Dialog l mt Windows Form a nng.
Dialog chnh l 1 Form vi thuc tnh
FormBorderStyle c gi tr FixedDialog
95
GII THIU
Mc ch s dng chnh ca Dialog l trao i
thng tin vi ngi s dng.
Sau khi ly c thng tin, trnh x l ca
Dialog s ly thng tin thc hin mt cng
vic khc.
96
PHN LOI DIALOG
MODAL MODELESS
Phi cung cp thng C th tip tc s
tin trc khi tip tc dng chng trnh
thc hin chng m khng cn phn
trnh hi thng tin trong
Dng khi cn thu thp Dialog
thng tin Dng khi ch n
thun thng bo
thng tin.
97
CC DIALOG PH BiN
ColorDialog
FontDialog
OpenFileDialog
PageSetupDialog
PrintDialog
PrintPreviewDialog
SaveFileDialog
98
Font v Color Dialog
99
class FontAndColorDialogs : Form
{
public FontAndColorDialogs()
{
Text = "Font and Color Dialogs";
ResizeRedraw = true;
Menu = new MainMenu();
Menu.MenuItems.Add("&Format");
Menu.MenuItems[0].MenuItems.Add("&Font...",
new EventHandler(MenuFontOnClick));
Menu.MenuItems[0].MenuItems.Add("&Background Color...",
new EventHandler(MenuColorOnClick));
}
protected override void OnPaint(PaintEventArgs pea)
{
Graphics grfx = pea.Graphics;
StringFormat strfmt = new StringFormat();
strfmt.Alignment = strfmt.LineAlignment = StringAlignment.Center;
grfx.DrawString("Hello common dialog boxes!", Font,
new SolidBrush(ForeColor),
this.ClientRectangle, strfmt);
100
}
void MenuFontOnClick(object obj, EventArgs ea)
{
FontDialog fontdlg = new FontDialog();
fontdlg.Font = Font;
fontdlg.Color = ForeColor;
fontdlg.ShowColor = true;
if (fontdlg.ShowDialog() == DialogResult.OK)
{
Font = fontdlg.Font;
ForeColor = fontdlg.Color;
Invalidate();
}
}
101
void MenuColorOnClick(object obj, EventArgs ea)
{
ColorDialog clrdlg = new ColorDialog();
clrdlg.Color = BackColor;
if (clrdlg.ShowDialog() == DialogResult.OK)
BackColor = clrdlg.Color;
}
102
Open File Dialog
103
class ImageOpen : Form
{
protected string strProgName;
protected string strFileName;
protected Image image;
public ImageOpen()
{
Text = strProgName = "Image Open";
ResizeRedraw = true;
if (image != null)
grfx.DrawImage(image, 0, 0); 104
}
void MenuFileOpenOnClick(object obj, EventArgs ea)
{
OpenFileDialog dlg = new OpenFileDialog();
106
LY THNG TIN PHN HI
S dng thuc tnh DialogResult
Abort
Cancel
Ignore
No
None
OK
Retry
Yes
107
V d 1
108
class SimpleDialogBox:Form
{
public SimpleDialogBox()
{
Text = "Simple Dialog Box;
FormBorderStyle = FormBorderStyle.FixedDialog; Phin
ControlBox = false; MaximizeBox = false;
MinimizeBox = false;ShowInTaskbar = false;
bn
Button btn = new Button(); 0.1
btn.Parent = this;
btn.Text = "OK";
btn.Location = new Point(50, 50);
btn.Size = new Size(10 * Font.Height, 2 * Font.Height);
btn.Click += new EventHandler(ButtonOkOnClick);
btn = new Button();
btn.Parent = this;
btn.Text = "Cancel";
btn.Location = new Point(50, 100);
btn.Size = new Size(10 * Font.Height, 2 * Font.Height);
btn.Click += new EventHandler(ButtonCancelOnClick);
} 109
void ButtonOkOnClick(object obj, EventArgs ea)
{
DialogResult = DialogResult.OK; Phin
}
bn
void ButtonCancelOnClick(object obj, EventArgs ea)
{ 0.1
DialogResult = DialogResult.Cancel;
}
110
class SimpleDialog : Form
{
string strDisplay = ";
public SimpleDialog()
{
Text = "Simple Dialog;
Menu = new MainMenu();
Menu.MenuItems.Add("&Dialog!", new EventHandler(MenuOnClick));
}
void MenuOnClick(object obj, EventArgs ea)
{
SimpleDialogBox dlg = new SimpleDialogBox();
dlg.ShowDialog();
strDisplay = "Dialog box terminated with " + dlg.DialogResult + "!";
Invalidate();
}
protected override void OnPaint(PaintEventArgs pea)
{.. }
}
111
class SimpleDialogBox:Form
{
public SimpleDialogBox()
{
Text = "Simple Dialog Box;
FormBorderStyle = FormBorderStyle.FixedDialog;
ControlBox = false; MaximizeBox = false;
MinimizeBox = false;ShowInTaskbar = false;
Button btn = new Button();
btn.Parent = this; Phin
btn.Text = "OK"; bn
btn.Location = new Point(50, 50); 0.2:
btn.Size = new Size(10 * Font.Height, 2 * Font.Height); Dng
btn.DialogResult = DialogResult.OK; Property
btn = new Button();
btn.Parent = this; DialogResult
btn.Text = "Cancel";
btn.Location = new Point(50, 100);
btn.Size = new Size(10 * Font.Height, 2 * Font.Height);
btn.DialogResult = DialogResult.Cancel;
} 112
}
V d
113
Modeless Dialog
114