Bài giảng Ngôn ngữ lập trình nâng cao - Bài 7 - Lý Anh Tuấn

Giới thiệu chung

Sử dụng IDE (Integrated Development Environment) trong

VS để phát triển nhanh ứng dụng

Sử dụng các thư viện của Windows Forms để phát triển

các ứng dụng desktop và client server chạy trên môi

trường Windows

Thiết kế giao diện sử dụng IDE và viết code C#

Các tiêu chuẩn của một ứng dụng dạng Windows Forms

Tìm hiểu các control và các thuộc tính thông dụng của các

control

pdf33 trang | Chuyên mục: Visual C# | Chia sẻ: yen2110 | Lượt xem: 417 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Ngôn ngữ lập trình nâng cao - Bài 7 - Lý Anh Tuấn, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Slide 1 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
NGÔN NGỮ LẬP TRÌNH NÂNG CAO 
Slide 2 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Giới thiệu chung 
Sử dụng IDE (Integrated Development Environment) trong 
VS để phát triển nhanh ứng dụng 
Sử dụng các thư viện của Windows Forms để phát triển 
các ứng dụng desktop và client server chạy trên môi 
trường Windows 
Thiết kế giao diện sử dụng IDE và viết code C# 
Các tiêu chuẩn của một ứng dụng dạng Windows Forms 
Tìm hiểu các control và các thuộc tính thông dụng của các 
control 
Lập trình Winform với C# 
Slide 3 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Nội dung chính 
Tại sao sử dụng Windows Forms 
Cấu trúc Windows Forms 
Sử dụng Windows Forms 
Sử dụng các Control 
Thừa kế của Windows Forms 
Lập trình Winform với C# 
Slide 4 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Có tập hợp các cotrol phong phú 
Nhiều kiểu giao diện 
Hỗ trợ cải tiến việc in ấn 
Hỗ trợ cải tiến về đồ họa – GDI+ 
Hỗ trợ khả năng truy cập qua các thuộc tính của 
control 
Hỗ trợ thừa kế 
Các đối tượng có thể cải tiến 
Thuận lợi cho thiết kế forms 
Tại sao sử dụng Windows Forms 
Slide 5 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Phân cấp các lớp của Windows Forms 
Sử dụng lớp Windows.Forms.Appication 
Nghiên cứu Code Behind của Windows Forms 
Cấu trúc của Windows Forms 
Slide 6 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Phân cấp các lớp của Windows Forms 
Slide 7 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Bắt đầu và kết thúc ứng dụng 
static void Main() 
{ 
Application.EnableVisualStyles(); 
Application.SetCompatibleTextRenderingDefault(false); 
Application.Run(new Form1()); 
} 
Thiết lập thông tin và truy vấn thông tin ứng dụng 
string strAppPath = Application.StartupPath; 
‘lấy đường dẫn chứa nơi cài file chạy 
Sử dụng lớp Windows.Forms.Application 
Slide 8 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Imports 
• Truy cập các chức năng trong namespace 
tham chiếu trong assemblies 
 using System.Windows.Forms 
Class 
• Thừa kế từ System.Windows.Forms.Form 
• Contructor – public Form1() 
• Initializer – void InitializeComponent() 
• Detructor – void Dispose() 
Nghiên cứu Code Behind của Windows Forms 
Slide 9 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Sử dụng Form Properties 
Sử dụng Form Methods 
Sử dụng Form Events 
Điều khiển sự kiện 
Tạo Form MDI 
Sử dụng các dạng hộp thoại chuẩn 
Sử dụng Windows Forms 
Slide 10 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Kích trên Form hoặc 
Control sẽ có hộp 
thoại Form Properties 
tương ứng 
Sử dụng Form Properties 
Slide 11 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
DialogResult 
Font 
Opacity 
MaximumSize và MinimumSize 
TopMost 
AcceptButton và CancelButton 
Sử dụng Form Properties 
Slide 12 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
CenterToScreen và CenterToParrent 
Close 
Show và ShowDialog 
Sử dụng Form Methods 
Slide 13 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Trên cửa sổ 
Properties > Chọn 
biểu tượng Events 
Sử dụng Form Events 
Slide 14 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Activated và DeActivate 
• Activated là xảy ra khi Form được kích hoạt hoặc 
người dùng tương tác 
• DeActive là xảy ra khi Form mất focus. 
FormClosing 
• Xảy ra khi Form đang chuẩn bị đóng. 
FormClosed 
• Xảy ra sau sự kiện Closing và trước Dispose 
MenuStart và MenuComplete 
• Xảy ra khi menu nhận và mất focus. 
Sử dụng Form Events 
Slide 15 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Điều khiển nhiều sự kiện với một thủ tục 
private void Form1_Activated(object sender, EventArgs e) 
{ 
 Debug.WriteLine("Form1 Activated!"); 
 this.Text = "Form Activated!"; 
} 
Giải thích: 
• “sender”: tham chiếu tới đối tượng mà được gọi bởi sự kiện. Nó 
hữu ích trong trường hợp có nhiều đối tượng sử dụng chung một 
sự kiện 
• “e”: chứa các thông tin về control mà người dùng có thể nhận 
diện được các hành vi và cách thức của control 
• Tuỳ vào mỗi sự kiện khác nhau mà tham số thứ 2 có thể khác 
nhau 
Điều khiển sự kiện 
Slide 16 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Tạo Form cha 
Bạn có thể đặt thuộc tính IsMdiContainer 
Hoặc code ở sự kiện Form_Load 
this.IsMdiContainer = True 
this.WindowState = FormWindowState.Maximized 
Tạo các Form con 
frmChild frm = new frmChild(); 
frm.MdiParent = this; 
frm.Show(); 
Truy cập các Form con 
Sắp xếp các Form con 
Tạo Form MDI 
Slide 17 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Lớp MessageBox 
if(MessageBox.Show("Ban co muon tiep tuc?","Thong 
bao",MessageBoxButtons.OKCancel) == DialogResult.OK) 
{ 
//Ban viet code o day 
} 
Sử dụng các dạng hộp thoại chuẩn 
Slide 18 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Các control căn bản 
Các control mới 
Sử dụng Properties của Control 
Sử dụng Methods của Control 
Tạo Menus 
Cung cấp Help cho người sử dụng 
Thực hiện chức năng Kéo – Thả 
Sử dụng các control 
Slide 19 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Các thuộc tính và sự kiện thông dụng 
Slide 20 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Các thuộc tính và sự kiện thông dụng 
Slide 21 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Các thuộc tính và sự kiện thông dụng 
Slide 22 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Các control mới 
CheckedListBox 
LinkLabel 
Spliter 
ToolTip 
NotifyIcon 
Slide 23 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Sử dụng Properties của Control 
Đặt vị trí Control 
• Anchor 
• Location 
Thuộc tính Text 
Button1.Text = "Click Me" 
Slide 24 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Sử dụng Methods của Control 
BringToFront và SendToBack 
Button1.BringToFront( ) 
Button2.SendToBack( ) 
Focus 
TextBox1.Focus( ) 
TextBox1.SelectAll( ) 
Slide 25 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Tạo Menus 
Các lớp Menu 
Tạo Menu lúc thiết kế 
• Sử dụng Menu Designer 
Tạo Menu lúc chạy 
private System.Windows.Forms.MenuStrip menuStrip1; 
private System.Windows.Forms.ToolStripMenuItem mnuArrange; 
private System.Windows.Forms.ToolStripMenuItem mnuArrangeCasscade; 
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] 
{this.mnuArrange}); 
this.mnuArrange.DropDownItems.AddRange(new 
System.Windows.Forms.ToolStripItem[] { this.mnuArrangeCasscade}); 
this.Controls.Add(this.menuStrip1); 
this.MainMenuStrip = this.menuStrip1; 
Slide 26 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Cung cấp Help cho người sử dụng 
Control ErrorProvider 
• Icon lỗi sẽ xuất hiện ở control kế tiếp, và message 
xuất hiện giống như ToolTip khi chuột di chuyển qua 
Icon. 
• Được sử dụng kiểm tra dữ liệu đầu vào. 
Control HelpProvider 
• Gắn các file trợ giúp dạng *.chm, *.hlp, *.html 
• Control cung cấp thông tin trợ giúp qua thuộc tính 
HelpString hoặc HelpTopic 
Slide 27 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Thực thi chức năng Kéo – Thả 
Xử lý đầu tiên 
Dùng sự kiện MouseDown và phương thức 
DoDragDrop trong sự kiện của control kéo. 
Tiếp tục dùng sự kiện DragOver của control thả, thiết 
lập thuộc tính Effect của tham số DragEventsArg 
trong sự kiện. 
Sự kiện cuối cùng DragDrop thực hiện khi thả dữ liệu 
Dùng phương thức Data.GetData kết hợp tham số 
DataFormats để lấy được dữ liệu kéo tới. 
Slide 28 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Thừa kế của Windows Forms 
Tại sao thừa kế từ một Form 
Tạo một Form cơ sở (Form Base) 
Tạo một Form được thừa kế 
Thay đổi Form Base 
Slide 29 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Tại sao thừa kế từ một Form 
 Một Form là một class, vì vậy nó có thể dùng thừa kế 
Các ứng dụng sẽ có một giao diện và hoạt động theo 
chuẩn. 
Các thay đổi ở form cơ sở sẽ tác động tới các form 
được thừa kế. 
Các ví dụ: 
Các form Wizard 
Các form Logon 
Slide 30 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Tạo một Form cơ sở (Form Base) 
Lên kế hoạch Form Base một cách cẩn thận 
Tạo Form Base như form thông thường 
Thiết lập các thuộc tính truy cập cho các control 
Private – Control chỉ truy cập trong form Base 
Protected – control chỉ được truy cập trong các form kế thừa 
Public – Control được truy câp trong bất kỳ module. 
Thêm từ khóa Overridable tới các Method một cách 
thích hợp 
Build Solution cho Form Base 
Slide 31 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Tạo form được thừa kế 
Đảm bảo form base đã được hoàn thành 
Tham chiếu tới Assembly 
Tạo form mới được thừa kế 
Thay đổi thuộc tính khi cần thiết 
Viết chồng các Method hoặc Event khi có yêu cầu 
Slide 32 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Thay đổi Form Base 
Thay đổi Form Base 
Các thay đổi sẽ tác động tới các form kế thừa khi 
Rebuilt 
Kiểm tra các form được kế thừa 
Kiểm tra các thay đổi trước khi rebuilt lại ứng dụng 
Kiểm tra lại sau khi rebuilt lại ứng dụng 
Slide 33 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Các lợi ích Windows Forms? 
Lớp ContainerControl là lớp cơ sở cho các 
control khác đúng hay sai? 
Viết code để truy cập tới đường dẫn file chạy 
ứng dụng 
Viết code để gọi btnOK khi người sử dụng ấn 
phím Enter. 
Liệt kê các control cung cấp trợ giúp cho người 
sử dụng 
Viết code để tạo một menu Help với một menu 
con About lúc chạy chương trình 
Bài tập 

File đính kèm:

  • pdfbai_giang_ngon_ngu_lap_trinh_nang_cao_bai_7_ly_anh_tuan.pdf