1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình cơ bản: Phần 2 - ĐH Sư phạm kỹ thuật Nam Định

83 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 1,51 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tiếp nội dung phần 1, Bài giảng Lập trình cơ bản: Phần 2 cung cấp cho người học những kiến thức như: Giới thiệu về lập trình trên Form; Làm việc với Form; Một số điều khiển thông dụng; Một số điều khiển đặc biệt;...Mời các bạn cùng tham khảo để nắm chi tiết nội dung giáo trình!

Trang 1

116

CHƯƠNG 4: LẬP TRÌNH TRÊN FORM

Trong chương này, giới thiệu cách xây dựng một ứng dụng Windows Forms cơ bản bằng cách sử dụng các điều khiển thông dụngtrong các ứng dụng GUI Đồng thời hướng dẫn cách thiết lập các thuộc tính của Windows Forms và các điều khiển bằng cách sử dụng thiết kế trực quan hoặc cửa sổ Properties và thay đổi hoặc kiểm tra giá trị của các thuộc tính tự động bằng cách sử dụng mã lệnh trong C#

4.1 Giới thiệu về lập trình trên Form

Trước NET, các nhà phát triển có vài chọn lựa trong việc xây dựng một ứng dụng Windows Họ có thể xây dựng một ứng dụng bằng C hay C++ sử dụng Win32 API Việc này là công việc rất khó và chi phối thời gian Tiếp đến là sử dụng Microsoft Foundation Classes (MFC) là một thư viện lớp sử dụng C++ được gói gọn trong Win32 API để xây dựng úng dụng Windows và Visual Basic là một công cụ phát triển mạnh cho phép tạo các ứng ụng Windows tương đối nhanh chóng Tuy nhiên, các giải pháp này đều không sử dụng NET Framework hay CLR

.NET Framework chứa một tầng lớp tiện ích mới dựa trên Win32 API và giống như MFC và Visual Basic, nó cho phép phát triển các ứng dụng Windows hiệu suất cao hơn và dễ dàng hơn Môi trường này được gọi là Windows Forms, cho phép các lập trình viên tạo racác ứng dụng Windows tương tác tốt hơn và lớn hơn sử dụng bất

kỳ ngôn ngữ NET nào

4.2 Làm việc với Form

4.2.1 Một số khái niệm

Windows Forms là một tập hợp các thư viện lớpđược quản lý trong NET Framework để phát triển các ứng dụng desktop trên máy tính Trong Windows Forms, Form là một cửa sổ giao diện cho phép hiển thị thông tin và tương tác với người dùng

Trang 2

117

Các ứng dụng Windows Forms thường được xây dựng bằng cách thêm các điều khiển vào Form và xây dựng sự kiện tương ứng với các hành động của người dùng, chẳng hạn như kích chuột hay bấm phím nào đó Một điều khiển (control) là một thành phần

có giao diện riêng (User Interface) và có thể hiển thị dữ liệu hoặc nhận dữ liệu vào

Để xây dựng một ứng dụng Windows Forms, có thể sử dụng rất nhiều đối tượng của lớp thuộc các không gian tên khác nhau (namespace), tuy nhiên có một không tên quan trọng không thể thiếu trong ứng dụng Windows Forms đó là System.Windows.Forms

System.Windows.Forms chứa các lớp dùng để tạo ứng dụng Windows với giao diện người sử dụng mang các đặc điểm ưu việt có trên hệ điều hành Windows

Ví dụ 4.1 sau đây sẽ tạo ứng dụng Windows Form như mẫu sau:

Hình 4.1: Giao diện ví dụ 4.1 Yêu cầu:

- Đặt dòng tiêu đề Form là Ví dụ 4_1

- Hiển thị dòng chữ Xin chào trên Form

-Khi kích chuột vào nút ―Thoát‖: Thực hiện đóng Form trên

Hướng dẫn thực hiện:

Bước 1: Tạo ứng dụng Windows Forms Application:

Mở Visual Studio 2010 vào File|New|Project và thực hiện thiết lập theo hình 4.2

Trang 3

118

Hình 4.2: Các bước tạo ứng dụng Windows Forms Application

Sau khi click ―Ok‖, Visual Stuidio 2010 sẽ có giao diện như hình 4.3:

Hình 4.3: Giao diện ứng dụng Windows Forms Application sau khi tạo

Khi làm việc với ứng dụng Windows Form, một số cửa sổ thường xuyên sử dụng, như hình 4.3, ở giữa sẽ là giao diện của Form1 vừa tạo ra (Form1.cs[Design]), nơi được dùng để thiết kế giao diện ứng dụng, sẽ chứa những điều khiển được thêm vào, bên trái sẽ là cửa số Toolbox nơi chứa các điều khiển cho phép kéo thả vào Form

Trang 4

119

Hình 4.4: Cửa sổ Toolbox

Bên phải là cửa sổ Cửa sổSolutionExplorer:Hiển thị các Project trong Solution, hiển thị tất cả các tệp trong Project và Project với tên được tô đậmsẽ được chạy đầu tiên

Hình 4.5: Cửa sổ Solution Explorer

Chú ý: Nếu các cửa sổ này không xuất hiện thì vào View để mở lại các cửa sổ

đó

Bước 2: Thay đổi tiêu đề cho Form

Để thay đổi tiêu đề Form, chọn Form1 trong cửa sổ Form1.cs[Design] và mở cửa sổ Properties để thay đổi thuộc tính Text trên Form1

Trang 5

120

Hình 4.6: Cửa sổ Properties của Form1

Nếu cửa sổ Properties không xuất hiện thì chọn Form1 và nhấn phím F4

Bước 3: Hiển thị dòng chữ ―Xin chào‖ trên Form1

- Mở cửa sổ Toolbox, tìm tới điều khiển Label , giữ chuột và kéo vào Form1 như hình 4.7:

Hình 4.7: Thêm điều khiển Label vào Form1

- Chọn điều khiển label1 trên Form1, mở cửa sổ Properties của điều khiển label1

và sửa thuộc tính tính Text ban đầu là ―label1‖ thành ―Xin chào!‖

Trang 6

121

Hình 4.8: Thay đổi thuộc tính Text của điều khiển label1

Kết quả:

Hình 4.9: Kết quả sau khi thay đổi thuộc tính Text của điều khiển label1

- Tiếp theo thay đổi Font chữ cho điều khiển label1 Mở cửa sổ Properties của điều khiển label1, chọn thuộc tính Font, kích chuột vào biểu tƣợng sẽ xuất hiện của sổ Font nhƣ hình 4.10

Hình 4.10: Cửa sổ Font

- Thực hiện các thay đổi sau:

Font: Time New Roman

Trang 7

122

Size: 16 Font style: True

- Sau đó thay đổi màu chữ bằng cách thiết lập thuộc tính ForeColor: Blue

Kết quả:

Hình 4.11: Thay đổi Font và màu chữ của điều khiển label1

Bước 4: Thêm nút ―Thoát‖ và viết mã lệnh cho sự kiệnKích chuộtcủa nút

―Thoát‖

- Thêm điều khiển Button từ Toolbox vào Form1, thực hiện các thiết lập thuộc tính chon button1 như sau:

Name:btThoat Text: Thoát

- Trên cửa sổ Properties của nút ―Thoát‖, chọn biểu tượng để mở danh sách các sự kiện (event) của đối tượng lớp Button như hình 4.12, chọn sự kiện Click

và double click vào sự kiện này, sẽ xuất hiện trong file Forms.cs một phương thức được sinh ra tương ứng với sự kiện Click của nút thoát (btThoat_Click) như hình 4.13

Trang 8

123

Hình 4.12: Chọn sự kiện Click

Hình 4.13: Phương thức btThoat_Click

- Viết mã lệnh cho sự kiện Kích chuộtcủa nút ―Thoát‖

private void btThoat_Click(object sender, EventArgs e)

MDI Form

Một Form đƣợc gọi là MDI Form khi thuộc tính IsMdiContainer có giá trị True Khi chuyển thuộc tính IsMdiContainer của Form từ False sang True, lập tức màu nền của Form đổi thành màu xám nhƣ hình 4.14

Hình 4.14: Màu nền của MDI Form

Ví dụ 4.2: Thiết lập thuộc tính IsMdiContainer

//Tạo Form frm và cho frm là MDI Form

Trang 9

Child Form là Form khi nạp lên sẽ nằm trong một MDI Form Để Form trở

thành Child Form thì khai báo thuộc tính MdiParent tương ứng với MDI Form

Ví dụ 4.3: Khai báo để mở Child Form có tên frm lớp Form3

Form frm = new Form3();

frm.MdiParent = this;//this thể hiện Form gọi đến Form Frm là MDI Form frm.Show();//Hiển thị Form

Normal Form

Normal Form là Form không phải MDI Form hoặc Child Form

4.2.3 Thuộc tính của Form

Những thuộc tính chung của Windows Form được liệt kê trong bảng sau:

Name Là thuộc tính để xác định tên của Form, mặc định, thuộc

tính Name của Form đầu tiên trong ứng dụng là Form1 Backcolor Thuộc tính xác định màu nền của Form

BackgroundImage Thuộc tính xác định hình nền cho Form

Font Thuộc tính xác định kiểu, kích thước và loại font được hiển

thị trên Form và trong những điều khiển trong Form Size Kích thước của Form bao gồm: Width và Height

Start Position Thuộc tính xác định vị trị mặc định xuất hiện của Form trên

màn hình máy tính người sử dụng, có các thuộc tính sau:

- Manual - vị trí và kích thước của Form phụ thuộc vào vị trí xuất hiện của nó

- CenterScreen - xuất hiện ở chính giữa màn hình

- WindowsDefaultLocation - Form xuất hiện tại vị trí mặc định của Windows theo kích thước của Form

- Windows DefaultBounds - Form được hiển thị tại vị trí mặc định của Windows và các chiều của chúng phụ thuộc vào hệ điều hành Windows

- Center Parent - Form được mở như một cửa sổ con của một Form khác và xuất hiện tại vị trí chính giữa so với Form cha Text Xác định tiêu đề của Form

Trang 10

125

WindowState Xác định trạng thái xuất hiện của Form: Normal, Maximized,

hay Minimized

Bảng 4.1: Một số thuộc tính của Form

Ví dụ 4.4: Tạo Form và thực hiện thay đổi một số thuộc tính trên Form như sau:

Name: frm4_4 Text: Ví dụ 4_4 Size: 500, 500 BackColor:Red WindowState: Maximized Kết quả Form hiển thị như hình 4.15

Hình 4.15: Form sau khi thay đổi một số thuộc tính theo ví dụ 4.4

4.2.4 Sự kiện trên Form

Những sự kiện trong Windows Form được liệt kê như bảng sau:

Sự kiện Mô tả

Click Sự kiện này xảy ra khi click vào bất kỳ nơi nào trên Form

Closed Sự kiện này xảy ra khi một Form được đóng lại

Deactivate Sự kiện xảy ra khi một Formbị mất trạng thái sử dụng

Load Sự kiện xảy ra khi một Formđược tải trong bộ nhớ cho lần đầu tiên MouseMove Sự kiện này xuất hiện khi chuột được rê trên một Form

MouseDown Sự kiện xảy ra khi chuột được nhấn trên Form

MouseUp Sự kiện xảy ra khi chuột được thả trên Form

Resize Sự kiện xảy ra khi thay đổi kích thước Form

Closing Sự kiện xảy ra khi đang đóng Form

Bảng 4.2: Một số sự kiện của Form

4.2.5 Phương thức của Form

Phương thức Mô tả

Trang 11

126

Show Được sử dụng để xuất hiện một Form bằng cách thiết lập thuộc

tính Visible của Form ấy là true ShowDialog Hiển thị Form dạng modal (không cho phép dùng Form khác khi

trừ khi nó được đóng lại) Close Dùng để đóng một Form

Hide Dùng để ẩn một Form

Bảng 4.3: Một số phương thức của Form

Ví dụ 4.5: Các sự kiện và phương thức của Form

Yêu cầu:

- Tạo Form như mẫu sau:

Hình 4.16: Giao diện Form ví dụ 4.5

- Viết các thông báo cho các sự kiện Load(), Closing(), Resize(), Closed()

- Khi kích chuột vào nút ―Hiện Form‖: Hiển thị 1 Form mới

- Khi kích chuột vào nút ―Ẩn Form‖: Ẩn Form vừa mở

- Khi kích chuột vào nút ―Hiện Form dạng modal‖: Mở Form dưới dạng modal

- Khi kích chuột vào nút ―Đóng Form‖: Đóng Form

Bước 1: Tạo Form đặt tên là frmVidu4_5

STT Đối tượng Thuộc tính Giá trị

2 Label Text Một số phương thức của

Form

Trang 12

127

STT Đối tượng Thuộc tính Giá trị

Text Hiện Form dạng modal

Bước 2: Viết mã lệnh cho các sự kiện của Form

private void frmVidu4_5_Load(object sender, EventArgs e)

Bước 3: Viết mã lệnh cho sự kiện Click của các nút trên Form:

Form frm = new Form();//Khai báo đối tượng Form frm sử dụng trong các sự kiện click của các nút

private void btHien_Click(object sender, EventArgs e)

Trang 13

4.3 Một số điều khiển thông dụng

4.3.1 Các thuộc tính và sự kiện chung

Hầu hết các điều khiển trên Form đều có một số thuộc tính chung như trong bảng 4.4:

BackColor Màu nền của điều khiển

Enabled Điều khiển được phép tương tác (true) hay không được phép tương

tác (false) với người dùng

ForeColor Màu chữ của điều khiển

Name Tên của điều khiển

Text Nội dung chuỗi hiển thị trên điều khiển

Visible Cho phép điều khiển hiện (True) / không hiện (False) khi chạy ứng

dụng

Width Là chiều rộng của điều khiển tính từ cạnh trái của điều khiển đến

cạnh phải của điều khiển

Height Là chiều cao của điều khiển tính từ cạnh trên của điều khiển đến

cạnh dưới của điều khiển

Bảng 4.4: Một số thuộc tính chung của các điều khiển

Các sự kiện chung thường sử dụng của các điều khiển được trình bày trong bảng 4.5

Click Xảy ra khi điều khiển bị kích chuột Trong một vài điều khiển,

event này cũng xảy ra khi nhấn phím Enter

MouseDown Xảy ra khi kích chuột trái nhưng chưa thả ra

MouseMove Xảy ra đến khi con trỏ chuột đi qua 1 điều khiển

MouseUp Xảy ra khi kích chuột trái và thả ra

KeyDown Xảy ra khi vừa bấm một phím bất kỳ từ 1 điều khiển đang được

chọn.Sự kiện này luôn được gọi trước sự kiện KeyUp

KeyPress Xảy ra khi vừa bấm một phím bất kỳ từ 1 điều khiển đang được

chọn Sự kiện này được gọi sau sự kiện KeyUp

KeyUp Xảy ra khi vừa bấm một phím bất kỳ rồi thả ra từ 1 điều khiển

Trang 14

129

đang đƣợc chọn Sự kiện này luôn đƣợc gọi sau sự kiện KeyDown

Bảng 4.5: Một số sự kiện chung của các điều khiển

4.3.2 Nhóm điều khiển Label

TextAlign Canh lề (Left / Center / Right)

Bảng 4.6: Một số thuộc tính của Label

Chẳng hạn, thiết kế Form dạng đăng nhập, bên cạnh các điều khiển yêu cầu nhập họ tên sinh viên, mã sinh viên, lớp, Form chứa các điều khiển Label:―Họ tên SV‖, ―Mã SV‖, ―ĐĂNG NHẬP‖, ―Lớp‖ nhƣ hình 4.17

Hình 4.17: Sử dụng điều khiển Label

LinkArea Vùng liên kết theo chiều dài và ký tự bắt đầu

LinkBehavior Trạng thái của liên kết, mặc định là SystemDefault, có thể

chọn: AllwasUnderline, HoverUnderline hay NeverUnderline

Trang 15

130

LinkColor Màu của liên kết

VisitedLinkColor Màu của liên kết sau khi đã chọn

Bảng 4.7: Các thuộc tính của LinkLabel

- Sự kiện:

LinkClicked Xảy ra khi kích chuộttrên điều khiển LinkLabel

DoubleClick Xảy ra khi kích chuột hai lần trên điều khiển LinkLabel

Bảng 4.8: Các sự kiện của LinkLabel

Ví dụ 4.6: Điều khiển LinkLabel

Yêu cầu:

- Tạo Form theo mẫu:

Hình 4.18: Ví dụ về điều khiển LinkLabel

- Khi kích chuột vào điều khiển LinkLabel sẽ chuyển tới địa chỉ trang https://www.google.com.vn/ trên trình duyệt nhƣ hình sau:

Hình 4.19: Hiển thị trang https://www.google.com.vn/ trên trình duyệt web Hướng dẫn thực hiện

Trang 16

131

Bước 1: Tạo Form và đặt tên là frmVidu4_6, them điều khiển LinkLabel vào trong Form

STT Đối tượng Thuộc tính Giá trị

Text Điều khiển LinkLabel

2 LinkLabel Text https://www.google.com.vn

Name linkLabel1 Bước 2: Viêt khai báo liên kết cho điều khiển LinkLabel trong sự kiện frmVidu4_6_Load

private void frmVidu4_6_Load(object sender, EventArgs e)

{

this.linkLabel1.Links.Add(0,100,‛https://www.google.com.vn");

} //Thêm một liên kết mới vào đối tương linkLabel1

Bước 3: Kích chuột hai lần vào điều khiển linkLabel1 để sinh sự kiện LinkClicked và thực hiện thêm đoạn mã lệnh sau vào sự kiện này

private void linkLabel1_LinkClicked(object sender,

Text Xác định chuỗi hiển thị của TextBox

Multiline Cho phéphiển thị văn bản trên nhiều dòng

PasswordChar Thuộc tính này cho phép lấy một ký tự làm đại diện cho

Trang 17

132

MouseClick Xảy ra khi kích chuột trên điều khiển TextBox

MultilineChanged Xảy ra khi thuộc tính Multiline thay đổi giá trị từ True

sang False hay ngược lại

Bảng 4.10: Một số sự kiện của TextBox

Ví dụ 4.7: Điều khiển TextBox

Yêu cầu:

- Tạo Form theo mẫu sau:

Hình 4.20: Ví dụ về điều khiển TextBox

- Các nhãn: ―Tên đăng nhập‖, ―Mật khẩu‖, ―Mô tả‖

- Các điều khiển để nhập tên đăng nhập, mật khẩu và mô tả là các Textbox

Lập trình cho các sự kiện:

- Kích chuộtvào nút ―Đăng nhập‖: Kiểm tra xem tên đăng nhập có phải là

―abcde‖ và mật khẩu là ―12345‖ hay không và sẽ đưa ra thông báo là đăng nhập thành công hay thất bại

- Kích chuột vào nút ―Xóa‖: Thực hiện xóa nội dung của các điều khiển TextBox

- Kích chuột vào nút ―Thoát‖: Thực hiện đóng Form

- Nếu TextBox tên đăng nhập là rỗng thì nút ―Đăng nhập‖ bị vô hiệu hóa, ngược lại cho phépkiểm tra khi kích chuột vào nút ―Đăng nhập‖

Hướng dẫn thực hiện

Bước 1: Tạo Form và đặt tên là frmVidu4_7, thêm các điều khiển TextBox

và Button vào trong Form

Text Điều khiển TextBox

2 TextBox Multiline True

3 TextBox PasswordChar *

Trang 18

133

Bước 2: Viết mã lệnh cho sự kiện Vidu4_7_Load

private void Vidu4_7_Load(object sender, EventArgs e)

txtMatkhau.Clear();//Xóa nội dung của TextBox

txtTendangnhap.ResetText();//Gán giá trị thuộc tính Text bằng giá trị mặc định

Bước 4: Viết mã lệnh cho sự kiện TextChanged của txtTendangnhap, nếu có ký

tự được nhập vào thì nút ―Đăng nhập‖ có thuộc tính Enabled là True, ngược lại

Trang 19

Hướng dẫn thực hiện:

Bước 1: Tạo Form và đặt tên là frmVidu4_8, thêm các điều khiển vào trong Form

Trang 20

Font style Bold

Bước 2: Xây dựng các hàm kiểm tra dữ liệu và hàm tìm ƯCLN

private bool Kiemtra()

{

int so1, so2;

bool kt1, kt2;

kt1 = int.TryParse(txtSo1.Text, out so1);

kt2 = int.TryParse(txtSo2.Text, out so2);

return kt1 && kt2 && so1 >0 && so2 >0;

Trang 21

PromptChar Ký tự nhắc nhở khi nhập dữ liệu

BeepOnError Xuất hiện tiếng Beep khi dữ liệu nhập không hợp lệ

PasswordChar Thuộc tính này cho phép lấy một ký tự làm đại diện cho

tất cả các ký tự đƣợc nhập vào

Bảng 4.11: Một số thuộc tính của MaskedTextBox

Hình 4.22: Một số định dạng cho thuộc tính Mask

- Sự kiện:

TextChanged Xảy ra khi chuỗi trên điều khiển thay đổi

MouseClick Xảy ra khi kích chuột trên điều khiển

MaskedTextBox

Trang 22

137

MaskChanged Xảy ra khi định dạng nhập liệu trong thuộc tính

Mask thay đổi MaskInputRejected Xảy ra khi dữ liệu nhập vào điều khiển bị từ chối TypeValidationCompleted Xảy ra khi MaskedTextBox hoàn tất việc kiểm tra

cú pháp (parsing) cho giá trị hiện hành thông qua property ValidatingType

Bảng 4.12: Một số sự kiện của MaskedTextBox

Ví dụ 4.9: Điều khiển MaskedTextBox

Yêu cầu:

- Tạo Form theo mẫu sau:

Hình 4.23: Ví dụ về điều khiển MaskedTextBox

- Điểu khiển MaskedTextBox cho phép nhập ngày tháng năm, sẽ xuất hiện thông báo lỗi nếu nhập sai và hiển thị kết quả ngày tháng năm nếu nhập đúng

- Khi kích chuột vào nút ―Hiển thị‖: Hiển thị ngày tháng năm nếu nhập đúng trong điều khiển MaskedTextBox

Trang 23

138

Bước 2: Viết mã lệnh cho sự kiện MaskInputRejected, bằng cách click 2 lần

chuột vào điều khiển mtbNgaythangnam

private void mtbNgaythangnam_MaskInputRejected(object sender,

MaskInputRejectedEventArgs e)

{

MessageBox.Show("Lỗi: " + e.RejectionHint.ToString() +

"; vị trí: " + e.Position.ToString());

}//Xuất hiện lỗi nếu nhập dữ liệu không đúng

Bước 3: Viết mã lệnh cho các sự kiện Click của các nút ―Hiển thị‖

private void btHienthi_Click(object sender, EventArgs e)

{

DateTime value;

bool kt = DateTime.TryParse(mtbNgaythangnam.Text, out value);

if(kt) MessageBox.Show("Ngày: " + value.ToLongDateString());

else MessageBox.Show("Ngày không hợp lệ ");

}

3 RichTextBox

- Công dụng: cho phép hiển thị văn bản trên nhiều dòng

- Thuộc tính và sự kiên: tương tự như điều khiển TextBox

4.3.4 Nhóm điều khiển ComboBox, ListBox

1 ComboBox

- Công dụng: Dùng để hiển thị một danh sách các mục cho phép lựa chọn /

hoặc nhập vào một chuỗi để lựa chọn

- Thuộc tính:

Thuộc tính Mô tả

Items Lưu trữ các mục (item) trong ComboBox, thuộc tính

Itemscó rất nhiều phương thức được sử dụng như để thêm1 phần tử(Add), xóamột phần tử (Remove), xóa toàn

bộ (Clear) hay trả về số phần tử thông quá thuộc tính Count của Items…

SelectedItem Trả về hoặc gán Item (object) được chọn

SelectedText Trả về hoặc gán nội dung thể hiện ứng với phần tử được

chọn SelectedIndex Trả về hoặc gán giá trị chỉ mục ứng với phần tửđang chọn

Text Trả về hoặc gán giá trị chuỗi ứng với phần tử được chọn

DropDownStyle Kiểu trình bày danh sách các phần tử, mặc định là

Trang 24

TextChanged Xảy ra khi chuỗi trên điều khiển thay đổi

MouseClick Xảy ra khi kích chuột trên điều khiển

ComboBox SelectedIndexChanged Xảy ra khi chỉ mục chọn thay đổi

Bảng 4.14: Một số sự kiện của ComboBox

Ví dụ 4.10: Điều khiển ComboBox

Yêu cầu:

- Tạo Form theo mẫu sau:

Hình 4.24: Ví dụ về điều khiển ComboBox

- Điểu khiển ComboBox lưu trữ các phép toán (+ - * / %)

- Các nhãn:‖Số hạng 1‖, ―Số hạng 2‖, ―Phép tính‖, ―=‖ và một nhãn dùng

để hiển thị kết quả của phép tính

- Các điều khiển nhập số hạng 1 và số hạng 2 là các điều khiển TextBox

- Khi kích chuột vào nút ―Tính‖: Dựa trên việc lựa chọn phép tính sẽ tính

kết quả của phép tính đó với hai số hạng được nhập vào và hiển thị ra nhãn kết quả

- Khi kích chuột vào ―Thoát‖: Đóng Form

- Nếu chọn phép toán ―/‖ trong điều khiển ComboBox sẽ xuất hiện một

thông báo yêu cầu nhập số hạng thứ 2 là một số khác 0

Hướng dẫn thực hiện:

Bước 1: Tạo Form và đặt tên là frmVidu4_10, thêm các điều khiển vào trong

Form

Trang 25

140

Hình 4.25: Cửa sở String Collection Editor

Bước 3: Cách thứ 2 để thêm phần tử vào điều khiển ComboBox là sử dụng phương thức Add của thuộc tính Items như trong đoạn mã lệnh sau:

private void frmVidu4_10_Load(object sender, EventArgs e)

Trang 26

141

}

Bước 4: Viết mã lệnh cho sự kiện SelectedIndexChanged của đối tượng ComboBox cbbPheptoan (kích chuột 2 lần vào điểu khiển ComboBox để sinh sự kiện SelectedIndexChanged) Kiểm tra phép toán được chọn có phải là ―/‖, nếu đúng thì đưa ra thông báo phải nhập số hạng thứ 2 là số khác 0

private void cbbPheptoan_SelectedIndexChanged(object sender, EventArgs e)

{

if(cbbPheptoan.Text=="/")

MessageBox.Show("Số hạng thứ 2 phải là số khác 0");

}

Bước 5: Viết mã lệnh cho sự kiện kích chuột vào nút ―Tính‖

private void btTinh_Click(object sender, EventArgs e)

Bước 6: Viết mã lệnh cho sự kiện kích chuột vào nút ―Thoát‖

private void btThoat_Click(object sender, EventArgs e)

Trang 27

142

Thuộc tính Mô tả

Items Lưu trữ các phần tử trong ListBox, thuộc tính Items có rất

nhiều phương thức được sử dụng như để thêm một phần

tử (Add), xóa một phần tử (Remove), xóa toàn bộ (Clear) hay trả về số phần tử thông qua thuộc tính Count của Items…

SelectedItem Trả về hoặc gán phần tử (object) được chọn

SelectedText Trả về hoặc gán chuỗi thể hiện ứng với phần tử được

chọn SelectedIndex Trả về hoặc gán giá trị chỉ mục ứng với phần tử đang

chọn Text Trả về hoặc gán giá trị chuỗi ứng với phần tử được chọn SelectionMode Xác định cách lựa chọn các phần tử trong ListBox Có 4

tử từ ListBox

Bảng 4.15: Một số thuộc tính của ListBox

- Sự kiện:

TextChanged Xảy ra khi chuỗi trên điều khiển thay đổi

MouseClick Xảy ra khi người sử dụng kích chuột trên điều

khiển ListBox SelectedIndexChanged Xảy ra khi chỉ mục chọn thay đổi

Bảng 4.16: Một số sự kiện của ListBox

Ví dụ 4.11: Điều khiển ListBox

Yêu cầu:

- Tạo Form theo mẫu sau:

Trang 28

143

Hình 4.26: Ví dụ về điều khiển ListBox

- Điểu khiển ListBox lưu trữ các số nguyên

- Điều khiển để nhập một số nguyên là điều khiển TextBox:

Lập trình sự kiện khi kích chuột vào các nút như sau:

- Với nút ―Thêm‖: Thêm số nguyên vào ListBox

- Với nút ―Thoát‖: Đóng Form

- Với nút ―Tổng các phần tử‖: Tính tổng các số nguyên có trong ListBox

- Với nút ―Xóa phần tử đầu‖: Xóa phần tử đầu tiên trong ListBox

- Với nút ―Xóa phần tử cuối‖: Xóa phần tử cuối cùng trong ListBox

- Với nút ―Xóa phần tử hiện tại‖: Xóa phần tử được chọn trong ListBox

Hướng dẫn thực hiện

Bước 1: Tạo Form và đặt tên là frmVidu4_11, thêm các điều khiển vào trong Form

Text Làm việc với Listbox

2 ListBox SelectionMode One

4 Label

Text Làm việc với Listbox

Font style Bold

Trang 29

144

Bước 2: Xây dựng hàm kiểm tra dữ liệu nhập vào TextBox txtSonguyen

private bool Kiemtra()

Bước 3: Viết mã lệnh cho sự kiện kích chuột vào các nút có trong Form

private void btThem_Click(object sender, EventArgs e)

Trang 30

tong = tong + so;

Trang 31

- Thuộc tính:

Thuộc tính Mô tả

Text Thuộc tính này sử dụng để nhận hoặc gán chuỗi ký tự

hiển thị của Checkbox Checked Đƣợc sử dụng để xác định CheckBox đƣợc chọn hay

không CheckState Trạng thái của điều khiển CheckBox đang chọn, có ba

trạng thái: Checked, Unchecked, Indeterminate

ThreeState Cho phép hay không 3 trạng thái Checked, Unchecked,

Indeterminate của điều khiển CheckBox

Bảng 4.17: Một số thuộc tính của CheckBox

- Sự kiện:

MouseClick Xảy ra khi kích chuộtvào điều khiển ListBox

CheckedChanged Xảy ra khi kích chuột vào điều khiển CheckBox Click Xảy ra khi kích chuột vào điều khiển CheckBox CheckStateChanged Xảy ra khi thuộc tính CheckState bị thay đổi

Bảng 4.18: Một số sự kiện của CheckBox

Ví dụ 4.12: Điều khiển CheckBox

Yêu cầu:

- Tạo Form theo mẫu sau:

Trang 32

147

Hình 4.27: Ví dụ về điều khiển CheckBox

- Các điều khiển nhập 6 số a, b, c, d, e, f là các TextBox

- Điều khiển để hiển thị kết quả là RichTextBox

- Khi chọn CheckBox ―Tìm max‖: Hiển thị số lớn nhất trong 6 số được nhập trong các điều khiển TextBox

- Khi chọn CheckBox ―Giải hệ phương trình‖: Hiển thị nghiệm của hệ phương trình:

Text Làm việc với CheckBox

Trang 33

148

12 RichTextBox Name txtKetqua

Bước 2: Xây dựng hàm kiểm tra dữ liệu nhập vào TextBox txtSonguyen

float a, b, c, d, e, f;//Khai báo các biến

bool Kiemtra(out float a,TextBox txtA)

Trang 34

else

{

if (Dx == 0 && Dy == 0) txtKetqua.Text += "\r\nHệ phương trình vô số nghiệm";

else txtKetqua.Text += "\r\nHệ phương trình vô nghiệm"; }

private void cbbGiaihephuongtrinh_CheckedChanged(object sender, EventArgs e) {

Items Liệt kê các mục giá trị trong CheckedListBox, thuộc tính

Items có rất nhiều phương thức được sử dụng như để thêm phần tử (Add), xóa một phần tử (Remove), xóa toàn

bộ (Clear) hay trả về số phần tử thông quá thuộc tính Count của Items…

Trang 35

150

SelectedItem Trả về hoặc gán Item (object) được chọn

SelectedValue Trả về hoặc gán giá trị ứng với phần tử kiểu object được

chọn SelectedIndex Trả về hoặc gán giá trị chỉ mục ứng với phần tử đang

chọn SelectionMode Xác định cách thức mà lựa chọn những phần tử trong

SelectedIndexChanged Xảy ra khi chỉ mục chọn thay đổi

SelectedValueChanged Xảy ra khi giá trị của phần tử thay đổi

ItemChecked Xảy ra khi kích chuộtvào biểu tượng CheckBox

của từng phần tử

Bảng 4.20: Một số sự kiện của CheckedListBox

Ví dụ 4.13: Điều khiển CheckedListBox

Yêu cầu:

- Tạo Form theo mẫu sau:

Hình 4.28: Ví dụ về điều khiển CheckedListBox

- Các điều khiển nhập m, n là các điều khiển TextBox

- Khi chọn CheckBox ―ƯCLN‖: Hiển thị ước số chung lớn nhất của 2 số được nhập trong các điều khiển TextBox

- Khi chọn CheckBox ―BCNN‖: Hiển thị bội số chung nhỏ nhất của 2 số được nhập trong các điều khiển TextBox

- Khi chọn CheckBox ―Số lớn nhất‖: Hiển thị số lớn nhất của 2 số được nhập trong các điều khiển TextBox

Hướng dẫn thực hiện

Bước 1: Tạo Form và đặt tên là frmVidu4_13, thêm các điều khiển vào trong Form

Trang 36

7 TextBox Multiline True

Trang 37

- Thuộc tính:

Thuộc tính Mô tả

Text Thuộc tính này sử dụng để nhận hoặc gán chuỗi ký tự là

tiêu đề của RadioButton Checked Là thuộc tính đƣợc sử dụng để xác định RadioButton

RadioButton Click Xảy ra khi kích chuột vào điều khiển CheckBox

Bảng 4.22: Một số sự kiện của RadioButton

Ví dụ 4.14: Điều khiển RadioButton

Trang 38

153

Yêu cầu:

- Tạo Form theo mẫu sau:

Hình 4.29: Ví dụ về điều khiển RadioButton

- Khi chọn RadioButton ―Tính tổng chữ số của n‖: Hiển thị tổng các chữ

số của n, giá trị được nhập trong điều khiển TextBox

- Khi chọn RadioButton ―Tính 1 + 1/2 + 1/3+ + 1/n‖: Hiển thị tổng

- Nhãn: ―Nhập n‖ và nhãn được dùng để hiển thị kết quả

Hướng dẫn thực hiện

Bước 1: Tạo Form và đặt tên là frmVidu4_14, thêm các điều khiển vào trong Form

Text Điều khiển RadioButton

2 RadioButton Text Tính tổng chữ số của n

Trang 39

float tong = 0; int i;

for (i = 1; i <= n; i++) tong = tong + 1.0f / i;

lbKetqua.Text = " Tổng = " + tong.ToString();

}

else MessageBox.Show("Nhập n không thỏa mãn");

}

4.3.6 Điều khiển Button

- Công dụng: để thực hiện một tác vụ nào đó khi kích chuột vào điều khiển

- Thuộc tính:

Thuộc tính Mô tả

Text Thuộc tính này sử dụng để nhận hoặc gán chuỗi ký tự là

tiêu đề của Button Image Chọn Image trong phần Resource để trình bày hình trên

điều khiển Button

Trang 40

155

Bảng 4.23: Một số thuộc tính của Button

- Sự kiện:

MouseClick Xảy ra khi kích chuột trên điều khiển Button

Click Xảy ra khi kích chuộtvào điều khiển Button

Bảng 4.24: Một số sự kiện của Button

4.4 Một số điều khiển đặc biệt

4.4.1 Nhóm điều khiển Menu

1 Điều khiển MenuStrip

- Công dụng: tổ chức các phần tử (ToolStripMenuItem) theo cấu trúc cây

và trình bày trên màn hình thành thanh menu để có thể lựa chọn, ngoài ra còn có các điều khiển con ToolStripComboBox (ComboBox), ToolStripSeparator (Gạch phân cách) và ToolStripTextBox (TextBox)

- Thuộc tính:

Thuộc tính Mô tả

AllowItemReorder Thuộc tính này cho phép tùy chọn các phần tử bằng bàn

phím khi bấm phím Alt TextDirection Thuộc tính này cho phép thay đổi hình thức trình bày trên

menu là ngang (Horizontal) hoặc dọc (Vertical90 hoặc Vertical270)

Items Thuộc tính này trả về danh sách các phần tử của

MenuStrip

Bảng 4.25: Một số thuộc tính của MenuStrip

Hình 4.30: Ví dụ về điều khiển MenuStrip

Ngày đăng: 08/06/2021, 14:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm