Windows forms là sự thay thê cụa .NET cho MFC trong Visual C++, nó hoàn toàn là các lớp hướng đôi tượng, mang tính kê thừa dành cho các nhà phát trieơn ứng dúng trong mođi trường .NET. Moêi thành phaăn giao dieơn còn gĩi là component đaịt tređn Forms cụa windows forms là moơt theơ hieơn (instance) cú theơ cụa moơt lớp nào đó. Component được định vị tređn Forms và thay đoơi giao dieơn thođng qua các phương thức (method), thuoơc tính (property) cụa lớp đôi tượng. Các cođng cú phát trieơn trực quan sẽ cho phép kéo thạ (drag-drop) những thành phaăn component leđn Forms và quạn lý chaịt chẽ vieơc khởi táo mã nguoăn cũng như tương tác giữa các thành phaăn component này với nhau.
Tương tác cụa người dùng với các thành phaăn component trong Windows Forms thực hieơn thođng qua sự kieơn (event). Moêi thành phaăn component cung câp moơt taơp các sự kieơn nguoăn (event resource) như sự kieơn di chuyeơn chuoơt, nút nhân được kích hốt, con trỏ thay đoơi vị trí… Nhieơm vú cụa laơp trình vieđn là viêt các boơ xử lý (handler) cho những sự kieơn này. Các hàm xử lý sự kieơn được gĩi thođng qua mođ hình chuyeơn giao (deligate) mà khođng caăn dựa vào bât kỳ thođng đieơp nào trong heơ thông.
Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích
SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 35
Sử dúng các đieău khieơn:
- Checkbox và nút Radio: Checkbox có theơ được đaịt trực tiêp tređn form hoaịc trong moơt khung chứa hay moơt nhóm bao goăm nhieău nút. Nút nhân Radio thường được kêt hợp với những nút khác và thường được đaịt chung trong moơt nhóm các nút có quan heơ với nhau, chĩn nút này sẽ dăn tới hụy chĩn các nút khác nhau trong cùng nhóm. Tât cạ các nút radio đeău sử dúng cùng phương thức xử lý sự kieơn kích chuoơt là OnRadio, trong phương thức này chúng ta duyeơt qua tât cạ các nút trong nhóm và kieơm tra tráng thái nào đang được chĩn, tương ứng với nút được chĩn chúng ta sẽ thiêt laơp các giá trị thích hợp cho những biên thành vieđn.
void OnRadio (Object sender, EventArgs e) {
int n = 0;
foreach (Object o in radiogroup.Controls ) { if (o is RadioButton) { RadioButton r = (RadioButton) o; if (r.Checked) Radio = n; n++; } } }
đôi với CheckBox, dữ lieơu theơ hieơn lái là các thuoơc tính truy xuât trực tiêp đên giá trị cụa CheckBox.
- OĐ sốn thạo Edit: Windows Forms cung câp thành phaăn đieđu khieơn là ođ sốn thạo edit có khạ naíng dùng nhaơp lieơu moơt dòng hoaịc nhieău dòng dữ lieơu, bán có theơ dùng thành phaăn edit cho nhieău múc đích khác nhau.Ví dú đôi tượng edit có theơ dùng như moơt cửa soơ sốn thạo tài lieơu giông như notepad cụa Windows. Hoaịc đơn giạn chư là moơt khung nhỏ cho phép nhaơp vào maơt khaơu (password) với các ký tự aơn. Trong các ứng dúng, ođ sốn thạo edit hay textbox được sử dúng roơng rãi.
- ListBox: Đôi tượng ListBox (hoơp danh sách) cho phép hieơn thị các múc chĩn ở dáng danh sách dĩc hoaịc ngang. Bán có theơ chĩn cùng lúc moơt hoaịc nhieău múc chĩn trong danh sách.
Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích
SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 36
- Dialog (hoơp thối): Có hai kieơu hoơp thối: kieơu modal (baĩt buoơc nhaơp lieơu) và kieơu modaless (khođng baĩt nhaơp lieơu).
+ Hoơp thối kieơu modal yeđu câu người dùng phại hoàn tât thao tác nhaơp lieơu hoaịc những yeđu caău chĩn lựa trước khi quay veă dòng hốt đoơng chính cụa chương trình (ví dú hoơp Options trong Microsoft Word).
+ Hoơp thối modaless có theơ được dùng đeơ thực hieơn thao tác nào đó nhưng văn cho phép người dùng tương tác với phaăn còn lái cụa chương trình chính (ví dú như hoơp tìm kiêm).
Hoơp thối được hieơn thị baỉng cách gĩi hàm ShowDialog. Tât cạ các hoơp thối thođng dúng đeău ra đời và kê thừa từ lớp:
System.Windows.Forms.CommoDialog.
Bán có theơ dùng lớp cơ sở này đeơ táo ra các hoơp thối tuỳ biên theo ý mình.