Bài trước: Windows Form (2): Chương trình đầu tiên (tt)
3. Tạo Form đầu tiên
3.1 Form
Trong lập trình Windows Form, Form là một cửa sổ (window), hoặc một hộp thoại (dialog box), dùng để tạo nên giao diện người dùng của ứng dụng.
Trong .NET Framework, Form được định nghĩa trong thư viện System.Windows.Forms. Nghĩa là .NET Framework đã định nghĩa sẵn một lớp có tên là Form, trong đó có các thuộc tính và phương thức, chúng ta sẽ gọi các thuộc tính và phương thức ra để dùng, để tạo ra các chức năng mong muốn.
Để có thể sử dụng lớp Form, chúng ta cần khai báo là sẽ sử dụng nó, bằng từ khóa using System.Windows.Forms.
Tuy nhiên, với
khai báo “using System.Windows.Forms”, chỉ có nghĩa là tôi muốn dùng tới lớp Form, chứ Visual Studio thì chả biết cái lớp Form nó nằm ở đâu trong đĩa cứng?
Bạn sẽ thấy Visual Studio báo lỗi khi bạn thêm dòng mã “using System.Windows.Forms” vào tập tin mã nguồn.
Vậy nên, chúng ta phải chỉ cho Visual Studio biết nơi có địa nghĩa của lớp Form. Cách làm:
- Trong cửa sổ Solution Explorer > Tên dự án (ví dụ QuanLySach) > chuột phải vào mục References > chọn Add References
- Trong cửa sổ Reference Manager, gõ từ khóa tìm kiếm “System” vào ô tìm kiếm (góc trên bên phải) > Đánh dấu chọn vào mục System > bấm OK để thêm lớp System vào dự án. Vì System là lớp cha của Form nên chúng ta cần thêm lớp này vào dự án.
- Làm tương tự
để thêm lớp Form, từ khóa tìm kiếm là System.Windows.Forms. Nếu bạn thêm thành công, 2 thư viện sẽ được thêm vào mục References. Chương trình sẽ không còn báo lỗi tham chiếu thư viện nữa.
Vậy là chúng ta
đã có thể sử dụng lớp Form để tạo ra giao diện gồm các cửa sổ và hộp thoại.
Chúng ta sẽ tạo và hiển thị một cái cửa sổ ra màn hình.
Bạn sửa hàm Main() với nội dung như sau:
static void Main()
{
// tạo ra một đối tượng của lớp Form
Form xinChaoForm = new Form();
// hiển thị cửa sổ ra màn hình
xinChaoForm.ShowDialog();
}
Lưu tập tin mã nguồn và chạy chương trình, bạn sẽ có kết quả như sau:
xinChaoForm là một đối tượng của lớp Form, do vậy, chúng ta có thể
sử dụng các thuộc tính và phương thức của nó để thực hiện
các chức năng mong muốn.
Để thêm các nút cho cửa sổ, bạn cần thêm dòng khai báo sau vào
đầu tập tin mã nguồn:
using System.Drawing;
Và thêm References tới System.Drawing
Ví dụ, chúng ta sẽ thêm tiêu đề, nút OK và nút Cancel cho cửa sổ.
Bạn nhập đoạn mã sau:
static void Main()
{
// tạo ra một cửa sổ từ lớp Form
Form xinChaoForm = new Form();
// thêm tiêu đề cho cửa sổ
xinChaoForm.Text = "Xin chào!";
// tạo 2 nút
Button bt1 = new Button();
Button bt2 = new Button();
// đặt tên cho các nút
bt1.Text = "OK";
bt2.Text = "Cancel";
// vị trí xuất hiện của các nút
bt1.Location = new Point(10, 10);
bt2.Location = new Point(bt1.Left, bt1.Height + bt1.Top + 10);
// gắn chức năng cho 2 nút
xinChaoForm.AcceptButton = bt1;
xinChaoForm.CancelButton = bt2;
// gắn nút vào cửa sổ
xinChaoForm.Controls.Add(bt1);
xinChaoForm.Controls.Add(bt2);
// hiển thị cửa sổ ra màn hình
xinChaoForm.ShowDialog();
}
Lưu và chạy chương trình để có kết quả như sau:
3.2 Bài tập
1. Dòng nào khai báo là sẽ sử dụng lớp Form?
A. using Form
B. using System.Windows.Forms
C. using System.Windows.Form
D. using System.Window.Forms.
2. Để có thể sử dụng lớp Form là làm gì?
A. chỉ cần khai báo bằng từ khóa using
B. chỉ cần thêm thư viện Form vào References
C. vừa dùng từ khóa using vừa thêm thư viện Form vào References
D. không cần làm 2 việc trên (using, references)
3. Lệnh nào để thêm tiêu đề cho xinChaoForm là Xin chào!?
A. xinChaoForm.AddTitle("Xin chào!");
B. xinChaoForm.Text = Xin chào!;
C. xinChaoForm.Title = "Xin chào!";
D. xinChaoForm.Text = "Xin chào!";
4. Viết lại và chạy được các đoạn mã nguồn trong bài viết.
-----
Gợi ý làm bài tập:
1(B), 2(C), 3(D)
-----
Cập nhật: 15/11/2024
Bài sau: Windows Form (4):