Lập trình Windows Form

Chia sẻ bởi Phùng Thị Bích Phượng | Ngày 29/04/2019 | 105

Chia sẻ tài liệu: Lập trình Windows Form thuộc Bài giảng khác

Nội dung tài liệu:

Lập trình Windows Form
Chương 1.
Giới thiệu Windows Form
1.1. Giới thiệu
Tạo ra các ứng dụng chạy trên máy để bàn có cài đặt .NET Framework 2.0
Sử dụng không gian tên System. Windows.Forms
Thiết kế giao diện trực quan sử dụng Visual Studio 2005 IDE.
1.1. Giới thiệu
Ví dụ:
1.2. Ứng dụng Windows Forms
Các chương trình quản lý tài chính, nhân sự, sản xuất, quản lý doanh nghiệp…
1.3. Không gian tên
Khi tạo Project loại Windows Application có 6 không gian tên mặc định:
System,
System.Data,
System.Deployment
System.Drawing,
System.Windows.Forms
System.Xml.
System.Windows.Forms
Là không gian chính cung cấp các lớp dùng để xây dựng các ứng dụng Desktop.
Các lớp của System.Windows.Forms chia thành các nhóm sau:
Control, User Control, Form
Menu, Toolbar: ToolStrip, MenuStrip, ContextMenuStrip, StatusStrip
Controls: Textbox, Combobox, Label, Listview, WebBrowser, HtmlDocument
System.Windows.Forms
Layout: Giúp định dạng và tổ chức các điều khiển trình bày trên Form
Data và Data Binding: định nghĩa kiến trúc đa dạng cho việc liên kết dữ liệu nguồn hay tệp tin XML vào các điều khiển.
VD: DataGridView
Componets: ToolTop, ErrorProvider, HelpProvider
Command Dialog Boxes: Làm việc với File, Font, Color, Print. VD: OpenFileDiaglog, SaveFileDiaglog. ColorFileDiaglog…
Màn hình chính làm việc với
Windows Form
1.4.Thực đơn Projector
Loại bỏ đối tượng khỏi Project
Đặt Project khởi động
1.5. Hộp công cụ
Cung cấp danh sách các Component liệt kê theo nhóm, cho phép thiết kế giao tiếp với người dùng.
Windows Forms: Windows Control.
Hiện ToolBox:
View Toolbox
nhấn chọn biểu tượng trên thanh công cụ
Ctrl+W và X
1.5. Hộp công cụ
Chứa tất cả đối tượng
Chứa các điều khiển thông thường: TextBox, Label, Button, PictureBox…
Chứa các điều khiển để chứa các điều khiển khác như: Panel, Group, TabControl, …
Chứa các điều khiển đểxây các menu, thanh công cụ như: MenuStrip, ToolStrip,…
Chứa tất cả đối tượng làm việc với CSDL: DataSet, DataGridView, ReportViewer,…
Chứa tất cả đối tượng In ấn: PrintDocument, PrintingDialog,…
Cung cấp các điều khiển hộp thoại như cửa sổ chọn kiểu chữ, màu chữ, thư mục và tệp tin,
Cung cấp các điều khiển làm việc với báo cáo
Cung cấp các điều khiển sử dụng để kiểm tra dữ liệu nhập như: ErrorProvider, HelpProvider,…
1.6. Cửa sổ Option
- Cung cấp các tuỳ chọn
- Tools/Options
1.6. Cửa sổ Option
Tuỳ chọn Fonts
và màu chữ
1.6. Cửa sổ Option
Định dạng mã C#
Thực hành
Tìm hiểu nhanh về hệ thống thực đơn, thanh công cụ,Toolbox, cửa sổ Properties
Đặt thuộc tính Font, cỡ chữ mặc định khi viết code
Thay đổi màu nền, màu chữ
Thêm số thứ tự đầu dòng ở mỗi dòng Code
Đặt chế độ tự xuống dòng khi dòng code dài
Đặt lại thư mục lưu Project

Thực hành – Bài tập
Yêu cầu:
Nhập vào 3 số thực Double a, b, c; cần kiểm tra ngoại lệ nếu nhập a, b, c, không phải là số
Click vào nút tính nghiệm sẽ đưa ra kết quả ở Textbox4
Click vào Tiếp tục: Giải PT bạc hai khác
Click vào Thoát (hoặc Alt+T) sẽ thoát khỏi chương trình
Chương 2.
Form và các định dạng Form
2.1. Các loại Form
MDI Form:
Form chứa các form khác
Thuộc tính isMDIFormContainer=true
VD: Form frm=new Form2()
Frm. isMDIFormContainer=true
Frm.Show()
 Tạo Form2 và cho Form2 là MDI Form
2.1. Các loại Form
Child Form:
Form nằm trong MDI Form
Phải khai báo thuộc tính MDIParent ứng với MDI Form
VD: Form Frm=new Form3()
Frm. isMDIParent=this
Frm.Show()
 This là từ khoá chỉ định Form gọi đến Form3 là MDI Form

2.1. Các loại Form
Normal Form:
Không phải MDI Form hoặc ChildForm
Nạp Form
VD: frm=new Form()
Frm.Show(): Hiển thị Form
Frm.ShowDialog(): Form mở ở dạng Modal. Form modal không cho phép người sử dụng dùng Form khác trtừ khi Form này được đóng lại
Tạo Form lúc thi hành
Sử dụng từ khoá New để tạo Form, sau đó gán các thuộc tính cho Form
VD:
Form Frm=new Form()
Frm.Text=“New Form”;
Frm.Show();
Form kế thừa
VD: Thiết kế Form1 như sau:
Form kế thừa
Thêm Form2: ProjectAdd Windows Form
D-Click vào Form2 xuất hiện

Thay class Form2: Form bởi class Form2: Form1
Form1

Form kế thừa
Kết quả
Có thể
thiết kế
lại
Form2
2.2. Các thuộc tính của Form
Nhóm thuộc tính nhận dạng
Name: Tên duy nhất của đối tượng Form trong Project
Text: Chuỗi hiển thị trên thanh tiêu đề
ShowIcon=True: Cho hiện Icon góc trên bên trái; =False: Không hiện
ShowInTaskBar: =True: Khi chạy hiện biểu tượng trên TaskBar; False: Không hiện
Icon: Cho phép chỉ định tệp tin *.ico làm biểu tượng trên thanh tiêu đề của Form
2.2. Các thuộc tính của Form
Nhóm thuộc tính Định dạng
BackColor: Màu nền của Form
VD: Form1.BackColor=Color.Azủe;
ForeColor: Màu của các chuỗi trên các Control của Form
StartPossition: Vị trí hiển thị Form
WindowStates: =Minimized (thu nhỏ), Maximized (phóng to), Nomal (trạng thái như thiết kế)
isMDIContainer: =True (Form được chọn là MDI Form); False: không
ControlBox

Thực hành
Tạo Form và thử các thuộc tính của Form
2.3. Biến cố của Form
FormClosed: Thực hiện khi Form đã đóng
FormClosing: SỰ kiện khi đang đóng Form
Click: Sự kiện khi Click vào Form
Activated: Xảy ra khi Form được kích hoạt bằng mã hay do tác động của người sử dụng
Disactiave: Xảy ra khi Form khác kích hoạt trên màn hình.
Load: Xả ra khi nạp Form
KeyPress: Xảy ra khi 1 phím được nhấn
Resize: Xảy ra khi thay đổi kích thước Form
2.3. Biến cố của Form
Các sự kiện của Form
Ví dụ: Biến cố Load Form
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("Dang Load Form");
//…
}
Ví dụ: Biến cố Click form
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("Dang Load Form");
//…
}
Ví dụ: Biến cố Closing Form

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
MessageBox.Show("Are you sure to exit?", "Thong bao", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);

}
2.4. Phương thức của Form
Close(): Dùng để đóng Form
Vd: this.Close()
Hide(): Ẩn form
VD: this.hide
Show(): Nạp form
VD: Frm.Show()
ShowDialog(): Nạp Form dạng Modal
VD: frm.ShowDialog


Thực hành
Thử các biến cố và phương thức của Form
Thực hành – Bài tập
Viết chương trình giải PT bậc 2
Yêu cầu: Thiết kế Form như sau:
Chương 3.
Điều khiển thông thường
Thuộc tính chung của các điều khiển
BackColor: Màu nền của điều khiển
ForeColor: Màu chữ của chuỗi trình bày trên điều khiển
Text: Chuỗi trình bày trên điều khiển
Visible: Thuộc tính che dấu hay hiển thị điều khiển
Name: Tên của điều khiển
Looked: Khoá không cho di chuyển trên Form
Sự kiện chung của các điều khiển
Click: Xảy ra khi người dùng nhấn chuột phải
MouseMove: Xảy ra khi nguời dùng di chuyển chuột qua vùng làm việc cảu điều khiển
MouseUp: Nhấn chuột xuống vùng làm việc cảu điều khiển rồi thả ra
MouseDown: Nhấn chuột xuống vùng làm việc cảu điều khiển
Move: Xảy ra khi di chuyển điều khiển bằng mã hay bởi người sử dụng
REsize: Xảy ra khi kích thước điều khiển được thay đổi bằng mã hay bởi người sử dụng
3.1. Điều khiển Label
Trình bày thuộc tính dạng tiêu đề, chú giải cho các điều khiển khác (đã quen thuộc)
3.1. Điều khiển Label
BorderStyle: Đường viền của điều khiển
Font: Kích thước và Font chữ
TextAlign: Căn chỉnh

3.1. Điều khiển Label
Ví dụ
//Khai báo và khởi tạo đối tượng Label
Void CreatControls()
{
Label lb=new Label();
Lb.Text=“This is Label Object”;
this.Controls.Add(lb);
}
3.2. Điều khiển TextBox
Dùng để nhập dữ liệu
Một số thuộc tính:
BorderStyle: Kiểu đường viền của điều khiển
CharacterCasing: Định dạng chuỗi nhập vào chuyển sang kiểu chữ hoa (Upper), chữ thường (Lower) hay mặc định (Normal)
Enabled: Vô hiệu hoá hay cho phép sử dụng
Maxlength: Số ký tự cho phép nhập
MultiLine : Giá trị True cho phép nhập nhiều dòng
PasswordChar: Giá trị nhập được thay thế bởi ký tự khai báo trong thuộc tính này (Multiline=False)
3.2. Điều khiển TextBox
Một số thuộc tính:
ReadOnly: =True chỉ cho phép đọc giá trị
ScrollBars: Nếu thuộc tính MultiLine=true thì cho phép hiện thanh trượt hay không (Vertical - Cuộn dọc, Horizontal - Cuộn ngang, both - Cả 2 thanh cuộn, none – Không có thanh cuộn)
WordWrap: Tự động xuống dòng nếu chuỗi giá trị dài hơn kích thước của điều khiển

3.2. Điều khiển TextBox
Một số biến cố
MouseClick: Xảy ra khi Click vào Textbox
MouseDoubleClick: Xảy ra khi Click đúp vào Textbox
TextChanged: Xảy ra khi chuỗi trên điều khiển thay đổi
3.3. Điều khiển Button
Cho phép người dùng chuột để nhấn, phím Enter hay phím Spacebar nếu điều khiển này đang được kích hoạt
Các thuộc tính, biến cố (giống VB6.0)
Lưu ý: thuộc tính Caption trong VB  thuộc tính Text trong C#
3.3. Điều khiển Button
Khai báo và khởi tạo đối tượng Button sau đó thêm vào Form
Button btn=new Button();
btn.Name=“btnSave”;
btn.Text=“&Save”;
this.Controls.Add (btn);
Ví dụ 1
Tạo Form đăng nhập hệ thống như sau:
Ví dụ 1
Yêu cầu:
Nếu Username khác rỗng  Nút OK được kích hoạt
Không nhập Password mà nhấn OK có thông báo yêu cầu nhập Password
Nhập sai Uername, Password  Thông báo nhập sai, không cho đăng nhập hệ thống
Nhập Username=“admin” và Password = “123456”  có thông báo đăng nhập thành công và hiện Form chính của chương trình

Ví dụ 2
Viết chương trình nhâp 3 số a, b, c vào 3 textbox và kiểm tra 3 số có là 3 cạnh tam giác hay không? Nếu là 3 cạnh tam giác thì tính diện tích, chu vi tam giác đó và kiểm tra xem đó là tam giác gì?
Ví dụ 2
Thiết kế Form như sau:
Ví dụ 2
Kết quả thực hiện chương trình
3.3. Nhóm điều khiển ComboBox, ListBox
ComboBox: Giống VB

3.3. Nhóm điều khiển ComboBox, ListBox
ComboBox – Một số thuộc tính
DataSource: Tập dữ liệu điền vào điều khiển
Items: Tập các phần tử có trong điều khiển, có thể sử dụng phương thức Add và AddRange để thêm phần tử vào ComboBox

3.3. Nhóm điều khiển ComboBox, ListBox
ComboBox: Ví dụ Thêm các mục vào ComboBox1 bằng phương thức Add
private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i < 10; i++ )
comboBox1.Items.Add("Phan tu " + i.ToString());
}
3.3. Nhóm điều khiển ComboBox, ListBox
ComboBox: Ví dụ Thêm các mục vào ComboBox1 bằng phương thức AddRange
private void button2_Click(object sender, EventArgs e)
{
string[] week = new string[7]
{ “Sun", “Mon", “Tue", "Wed", "Thu", "Fri", "Sat" };
comboBox2.Items.AddRange(week);
}
3.3. Nhóm điều khiển ComboBox, ListBox
ComboBox: Ví dụ liệt kê các thư mục. Sử dụng phương thức DataSource
3.3. Nhóm điều khiển ComboBox, ListBox
ListBox: Giống VB
Các thuộc tính và phương thức: Tương tự COmboBOx
 SV tự tìm hiểu
3.4. Nhóm điều khiển CheckBox, RadioButton
CheckBox: Giống VB
Một số thuộc tính đáng chú ý:
Checked: Trạng thái chọn (true), không chọn (False)
CheckState: Trạng thái của điều khiển CHeckBox đang chọn, có 3 trạng thái: Checked, Unchecked, Indeterminate.
SV tự tìm hiểu
3.4. Nhóm điều khiển CheckBox, RadioButton
RadioButton: Giống VB
SV tự tìm hiểu
Chương 4.
ĐIỀU KHIỂN ĐẶC BIỆT
4.1. Điều khiển ImageList
Chứa mảng các Picture, thường sử dụng với Listview, Treeview
Giống VB 6.0
Ví dụ:
4.2 Điều khiển ListView
Trình bày các phần tử dạng danh sách với nhiều hình dạng khác nhau.
4.2. Điều khiển ListView
4.2 Điều khiển ListView
4.2. Điều khiển ListView
4.2. Điều khiển ListView
Một số thuộc tính cơ bản

Cho phép sắp xếp cột trên điều khiển Listview ở chế độ thi hành
Khai báo số cột (có Header) của điều khiển Listview
4.2. Điều khiển ListView
Một số thuộc tính cơ bản

=True: Cho phép tô màu ứng với hàng của phần tử được chọn
Khai báo nhóm để phân loại các phần tử sau khi trình bày trên điều khiển Listview
=True: Chuỗi sẽ tự động xuống dòng khi chiều dài không đủ để trình bày
Đối tượng ImageList chứa danh sách các Image theo số chỉ mục từ 0 đến n-1 được sử dụng cho trường hợp thuộc tính View là LargeIcon
4.2. Điều khiển ListView
Một số thuộc tính cơ bản

Các phần tử trên List view sẽ được sắp xếp tăng dần (Asccending), giảm dần (Descending) hoặc không sắp (None)
Chế độ trình bày tương ứng trên điều khiển như: List, Details, LargeIcon, SmallIcon, Title.
4.2. Điều khiển ListView
Ví dụ: Liệt kê danh sách các tệp tin
4.2. Điều khiển ListView
Ví dụ: Liệt kê danh sách các tệp tin
Chú ý khi viết Code
Khai báo: using System.IO;
Khai báo sử dụng đối tượng DirectoryInfo để lấy thông tin của thư mục:
DirectoryInfo dir = new DirectoryInfo("C:\Windows");
dir.GetFiles("*.*"): Lấy ra danh sách các File trong thư mục “dir”
FileInfo f: Khai báo đối tượng f chứa thông tin về các tệp tin
- f.Name: Tên tệp tin
- f.Length: Dung lượng tệp tin (byte)
- f.Attributes: Thuộc tính của tệp tin
- f.CreationTime: Ngày giờ tạp ra tệp tin

4.2. Điều khiển ListView
Ví dụ: Liệt kê danh sách các tệp tin
Chú ý khi viết Code
Khai báo cột trên Listview
this.listView1.Columns.Add("Name",200, HorizontalAlignment.Left);
200
4.2. Điều khiển ListView
Ví dụ: Liệt kê danh sách các tệp tin
Chú ý khi viết Code
Chế độ hiển thị
listView1.View = View.Details;
Thêm các tệp tin vào List view1

ListViewItem item1; // Khai báo Item1 thuộc đối tượng ListViewItem
foreach (FileInfo f in dir.GetFiles("*.*")) // Lấy thông tin của tệp tin
{ // đưa vào Listview1
i++;
item1 = new ListViewItem(i.ToString());
item1.SubItems.Add(f.Name);
item1.SubItems.Add(f.Length.ToString());
item1.SubItems.Add( f.Attributes.ToString());
listView1.Items.Add(item1);
}
4.2. Điều khiển ListView
Bài tập
SV tạo Listview để chứa danh sách các tệp tin lấy từ ổ đĩa D, tương tự như ví dụ trên
4.2. Điều khiển ListView
Ví dụ 2
Tạo List view liệt kê các thư mục con, có chứa hình ảnh như sau:
4.2. Điều khiển ListView
Ví dụ 3
Tạo List view liệt kê các thư mục con theo 4 nhóm (Archieve, System, Normal, Default) như sau:
4.3. Điều khiển TreeView
Trình bày danh sách phần tử phân cấp theo từng nút (Giống Windows Explorer của Windows)
4.3. Điều khiển TreeView
Một số thuộc tính
CheckBoxes: Xuất hiện Checkbox bên cạnh từng nút của Treeview
Nodes: Khai báo số Node (có header) của Listview
FullRowSelect: là true – cho phép tô màu ứng với hàng của phần tử được chọn, giá trị mặc định là False
ShowLine: Cho phép có đường viền ứng với từng nút, mặc định là True
LabelEdit: là true nếu cho phép thay đổi chuỗi của mỗi nút
4.3. Điều khiển TreeView
Một số thuộc tính
ShowPlusMinus: là true thì có biểu tượng dấu + và - xuất hiện trên mỗi nút
ShowRootLine: Chọn giá trị true nếu cho trình bày nút gốc
ImageList: Chỉ ra đối tượng ImageList được đưa vào làm ảnh trên các nút của Treeview theo thứ tự chỉ mục từ 0 đến n-1 (giả sử ImageList có n ảnh)

4.3. Điều khiển TreeView
Một số Phương thức
CollapseAll: Trình bày tất cả các nút trên Treeview
ExpandAll: Thu gọn tất cả các nút trên Treeview
4.3. Điều khiển TreeView
Thêm nút vào Treeview
this.Treeview1.Nodes.Add(………..)
7 hàm nạp chồng
4.3. Điều khiển TreeView

this.Treeview1.Nodes.Add(“My Computer”)
this.Treeview1.Nodes.Add(“Root”,“My Computer”)
this.Treeview1.Nodes[level1].Nodes.Add(“Computer”)
4.3. Điều khiển TreeView

this.Treeview1.Nodes.Add(“Root”,“My Computer”, ”C:\Picture\computer1.ico”)
this.Treeview1.Nodes.Add(“Root”,“My Computer”,1)
4.3. Điều khiển TreeView
Ví dụ: Liệt kê các ổ đĩa và các thư mục con trên các ổ đĩa
4.3. Điều khiển TreeView
Ví dụ: Liệt kê các ổ đĩa và các thư mục con trên các ổ đĩa
Chú ý khi viết Code
Khai báo: using System.IO;
Khai báo sử dụng đối tượng Directory
Directory.GetLogicalDrives(): Lấy ds cách ổ đĩa logic
Directory.GetDirectories(F): Lấy danh sách các thư mục con của thư mục F
Directory.GetFile(F): Lấy danh sách các tệp tin của thư mục F
4.3. Điều khiển TreeView
Ví dụ: Liệt kê các ổ đĩa và các thư mục con trên các ổ đĩa
Chú ý khi viết Code
Thêm nút vào TreeView như sau:
this.Treeview1.Nodes.Add(TreeNode node)
VD:
this.Treeview1.Nodes.Add(“Root,”My Computer”,1)
4.3. Điều khiển TreeView
Ví dụ: Liệt kê các ổ đĩa và các thư mục con trên các ổ đĩa
Liệt kê các ổ Logic đặt lên Treevie
Nút Show gọi hàm GetDisk()

void GetDisk()
{
foreach (string d in Directory.GetLogicalDrives())
{
this.treeView1.Nodes.Add(d);
}
4.3. Điều khiển TreeView

Liệt kê các Thư mục đặt lên Treeview
void GetFolder(string name, int level)
{
try
{
foreach (string d in Directory.GetDirectories(name))
{
this.treeView1.Nodes[level].Nodes.Add(d.Substring(3));
} //Cắt đi 3 ký tự đầu tiên VD: C:TPBin thì còn TPBin
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Warning);
}
}
4.3. Điều khiển TreeView

Để liệt kê tất cả các thư mục trên các ổ đĩa, ta sửa lại hàm GetDisk như sau:
void GetDisk()
{
int i = 0;
foreach (string d in Directory.GetLogicalDrives())
{
this.treeView1.Nodes.Add(d);
GetFolder(d, i);
i++;
}
}
4.3. Điều khiển TreeView

Liệt kê các File có trong 1 thư mục đặt lên Treeview
void GetFile(string name, int level, int level1)
{
try
{
foreach (string d in Directory.GetFiles(name))
{
this.treeView1.Nodes[level].Nodes[level1].
Nodes.Add(d.Substring(name.Length + 1));
}
}
catch (Exception ex)
{ MessageBox.Show(ex.Message,"Error",MessageBoxButtons.AbortRetryIgnore,
MessageBoxIcon.Warning);
}
}
4.3. Điều khiển TreeView

Để Liệt kê các File, các thư mục con của các ổ Logic đặt lên Treeview ta viết lại GetFolder như sau:
void GetFolder(string name, int level)
{
try
{ int level1 = 0;
foreach (string d in Directory.GetDirectories(name))
{
this.treeView1.Nodes[level].Nodes.Add(d.Substring(3));
GetFile(d, level, level1); level1++;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Warning);
}
}
4.3. Điều khiển TreeView

Viết Code cho Nút CollapseAl và ExpandAll
private void button2_Click(object sender, EventArgs e)
{
treeView1.CollapseAll();
}

private void button3_Click(object sender, EventArgs e)
{
treeView1.ExpandAll();
}
4.3. Điều khiển TreeView

Bài tập
SV làm lại ví dụ trên
4.4. Điều khiển DateTimePicker
Giống VB 6.0
4.5. Điều khiển MonthCalendar
Giống VB 6.0
4.5. Điều khiển MonthCalendar
Bài tập
Liệt kê các tệp tin được tạo ra trước ngày chỉ ra trong Combobox1 trong ổ đĩa (Chỉ ra trong ComboBox2)
Chương 5.
ĐIỀU KHIỂN DÙNG ĐỂ XÂY DỰNG MENU
5.1. Điều khiển ImageList
5.2. Điều khiển MenuStrip
5.3. Điều khiển ConTextMenuStrip
5.4. Điều khiển NotifyIcon
5.5. điều khiển StatusStrip
5.6. Điều khiển ToolStrip
Chương 6.
ĐIỂU KHIỂN CHỨA ĐỰNG CÁC ĐIỀU KHIỂN KHÁC
6.1. Điều khiển GroupBox
6.2. Điều khiển TabControl
6.3. Điều khiển Panel
6.4. Điều khiển FlowLayoutPanel
6.5. Điều khiển TabLayoutPanel
Chương 7.
ĐIỀU KHIỂN DIALOG VÀ PHƯƠNG THỨC MESSAGEBOX
7.1. Lớp MessageBox
7.2. Điều khiển ColorDiaglog
7.3. Điều khiển FontDialog
7.4. Điều khiển OpenFileDialog
7.5. Điều khiển SaveFileDialog
7.6. Điều khiển FolderBrowserDialog.
Chương 8.
LÀM VIỆC VỚI ĐIỀU KHIỂN IN ẤN
8.1. Điều khiển PageSetupDialog
8.2. Điều khiển PrintPreviewDialog
8.3. Điều khiển PrintPreviewControl
8.4. Điều khiển PrintDialog
8.5. Điều khiển PrintDocument.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Phùng Thị Bích Phượng
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)