Video Hướng Dẫn Sử Dụng Windows Form

Đây là các bài tập cơ bản hướng dẫn thiết kế Form và cách sử dụng các Control thông dụng trong Visual Studio để xây dựng ứng dụng WinForms. Ngoài ra chúng ta sẽ làm quen với cách lập trình sử dụng các thuộc tính, phương thức, sự kiện của Form và các Control.

Bạn đang xem: Video hướng dẫn sử dụng windows form


Nội dung

Bài 1: Sử dụng Form và ButtonBài 2: Sử dụng Form, TextBox và ButtonBài 3: Sử dụng Form, TextBox, Label và ButtonBài 4: Sử dụng Form, Label, Groupbox và RadioButtonBài 5: Sử dụng Form, Label, Groupbox và CheckBoxBài 6: Sử dụng Form, TextBox và ListBoxBài 7: Sử dụng Form, ListBox và ButtonBài 8: Sử dụng Form, TextBox, ComboBox và Button

Nội dung

Bài 1: Sử dụng Form và Button

Thiết kế Form có hai nút lệnh có tên là &Green và &Yellow. Form có nút Min, Max Button.

Khi click vào nút lệnh Green, Form đổi màu nền thành màu Xanh (Green) và đổi tiêu đề của Form thành “Green Colour”Khi click vào nút lệnh Yellow, Form đổi màu nền thành màu Vàng (Yellow) và đổi tiêu đề của Form thành “Yellow Colour”.Xem hướng dẫn

Bài 2: Sử dụng Form, TextBox và Button

Thiết kế Form có một TextBox để trắng, và 3 nút lệnh: Display, Clear, Exit.

Khi Click nút Display, hộp TextBox hiện lên câu: “Xin chào bạn đến với ngôn ngữ lập trình C#”Click nút Clear, hộp TextBox bị xoá trắngClick nút Exit để thoát khỏi chương trình.Xem hướng dẫn

Bài 3: Sử dụng Form, TextBox, Label và Button

Thiết kế Form có một TextBox (có thể gõ nhiều dòng), một Label, 1 nút lệnh View, 1 nút lệnh Exit để thực hiện công việc sau:

Ban đầu, nút View bị mờ, khi bắt đầu ấn phím bất kì vào TextBox, nút View mới được kích hoạt.Sau khi nhập vào ô TextBox, click nút View, Label sẽ hiển thị nội dung của TextBoxClick nút Exit để thoát khỏi chương trình.Xem hướng dẫn

Bài 4: Sử dụng Form, Label, Groupbox và RadioButton

Thiết kế Form gồm 1 Label có dòng chữ “Thuộc tính MultiLine để làm gì?” và 4 RadioButton lần lượt có các tiêu đề sau: Chữ đậm, Chữ nghiêng, Xuống dòng, Chữ hoa. Các nút RadioButton được đặt trong một Groupbox có nhãn là “Trả lời”. Cuối cùng là một Label để hiển thị kết quả. Các công việc cần thực hiện:

Ban đầu Label hiển thị kết quả là rỗng.Khi chọn RadioButton thứ 3, Label Kết quả hiển thị dòng chữ “Đúng”.Khi chọn các RadioButton còn lại, Label Kết quả hiển thị dòng chữ “Sai”Xem hướng dẫn

Bài 5: Sử dụng Form, Label, Groupbox và CheckBox

Thiết kế Form gồm 1 Groupbox có nhãn là “Chọn các ca sỹ VN bạn yêu thích”, chứa 5 CheckBox lần lượt có nhãn là: Mỹ Tâm, Mỹ Linh, Thanh Lam, Quang Dũng, Lam Trường, 1 nút lệnh “Xem” và một Label để hiển thị danh sách các ca sĩ bạn yêu thích. Các công việc cần thực hiện:


Nếu không chọn ca sĩ nào, Label sẽ hiện nội dung “Bạn không lựa chọn ca sĩ nào trong danh sách trên”.Nếu có chọn, Label sẽ hiện nội dung: “Các ca sĩ mà bạn yêu thích là” Xem hướng dẫn

Bài 6: Sử dụng Form, TextBox và ListBox

Thiết kế Form gồm 1 ListBox và 1 TextBox. Khi Click vào các phần tử trong ListBox, TextBox sẽ hiển thị nội dung của các phần tử được chọn.

Xem hướng dẫn

Bài 7: Sử dụng Form, ListBox và Button

Thiết kế Form gồm có 2 ListBox, 2 Label và 4 nút lệnh có giao diện như sau:

Chọn các mặt hàng bên “Danh sách các mặt hàng”, khi Click vào nút >, sẽ chuyển các phần tử được lựa chọn sang bên “Các mặt hàng lựa chọn”, (đồng thời xoá đi các phần tử được lựa chọn bên “Danh sách các mặt hàng”)Khi Click nút >> sẽ chuyển toàn bộ các phần tử bên “Danh sách các mặt hàng” sang bên “Các mặt hàng lựa chọn”, (đồng thời xoá trắng bên “Danh sách các mặt hàng”)Chọn các mặt hàng bên “Các mặt hàng lựa chọn”, khi Click vào nút Khi Click nút
*

Thiết kế Form với ListBox


Xem hướng dẫn

Bài 8: Sử dụng Form, TextBox, ComboBox và Button

Thiết kế Form gồm có 1 TextBox điền Họ tên, 3 ComboBox có các Label đi kèm có nhãn: Ngày, Tháng, Năm

ComboBox Ngày nạp các giá trị từ 1 đến 31 (không cho nhập thêm dữ liệu)ComboBox Tháng nạp các giá trị từ 1 đến 12 (không cho phép nhập thêm dữ liệu)ComboBox Năm nạp các giá trị từ 1930 đến 2010 (cho phép nhập thêm dữ liệu)

Khi ấn nút lệnh Kiểm tra, nếu ngày tháng năm sinh là hợp lệ sẽ hiện ra MessageBox thông báo Họ tên và ngày sinh. Nếu dữ liệu ngày tháng không hợp lệ sẽ hiện ra MessageBox thông báo “Ngày sinh không hợp lệ!”

Xem hướng dẫn

Bài 9: Thiết kế chương trình Calculator đơn giản


*

Chương trình Calculator đơn giản


Các hộp TextBox A+B, A*B, A-B, A/B không được phép sửa dữ liệu (Thuộc tính ReadOnly = True)Sau khi nhập dữ liệu cho A và B, Nếu dữ liệu nhập đúng kiểu số, khi ấn nút Result sẽ tính kết quả để điền vào các TextBox A+B, A-B, A*B, A/BẤn nút Reset sẽ xoá trắng tất cả các TextBox, đưa Focus về TextBox AẤn nút Exit để thoát khỏi chương trình.Lưu ý: Tạo TabIndex theo thứ tự: TextBox A, TextBox B, nút Result, nút Reset, nút Exit.

Bài 10: Thiết kế Form đăng nhập


*

Form đăng nhập


Khi người sử dụng gõ UserName = “admin” và Password = “123” hoặc UserName = “user” và Password = “456” thì đóng Form đăng nhập và sẽ gọi sang Form thứ 2 có giao diện như sau:


*

Form Edit


Nếu UserName = “admin” thì hiển thị cả 2 GroupBox Style và ColourNếu UserName = “user”, chỉ hiển thị GroupBox Style, không hiển thị Groupbox Colour.Các chức năng của Form Edit:Khi chọn CheckBox Bold, chữ sẽ đậm, nếu bỏ chọn chữ sẽ bình thường. Tương tự với các CheckBox Italic (chữ nghiêng) và Underline (gạch dưới chân)Khi click vào RadioButton Blue, chữ sẽ chuyển sang màu xanh, tương tự với Red và Grayed.

Xem thêm: Cách Sử Dụng Súng Bắn Giá - Hướng Dẫn Sử Dụng Súng Bắn

Tải SourceCode

Tham khảo thêm


Các thẻ: buttonC#CheckBoxComboboxControlsformslablellập trình winformsListBoxRadioButtonsử dụng controltextboxthiết kế giao diện winforms

Có thể bạn sẽ thích…

54 phản hồi


*
quan viết:

thầy ơi . ở bài 3 đấy, cái phần if else em muốn thêm thuộc tính khi mà viết chữ thì màu nền đổi sang màu khác còn khi không có chữ thì màu nền lại về màu trắng. sao e viết thế này không đk. thầy chỉ em với.em đang học môn này cảu thầy ạ.

if (txtHienthi.Text.Trim() != "") bttView.Enabled = true; txtHienthi.BackColor= Color.Pink; else { bttView.Enabled = false; txtHienthi.BackColor= Color.White; }
Trả lời

*
huế viết:
thầy ơi em muốn tạo một giao diện chính sau đó em kích vào các nút thì nó hiện ra các giao diện con thì làm thế nào ạ


Trả lời
*
Sơn viết:

Thầy ơi câu hỏi hơi khó hiểu nhưng thầy giúp e với ạe có 1 combobox đổ dữ liệu từ CSDL ra combobox.ValueMember = “MaPB” combobox.DisplayMember=”TenPB”e lấy dữ liệu từ CSDL thông qua datagridview bằng sự kiện cell_clickthì e lấy đc combobox.ValueMember còn combobox.DisplayMember thì làm như nào để nó hiện lên ạ


Trả lời
*
Phan Tiến viết:

Em có thể làm như sau:Dữ liệu ở combobox em nạp sẵn như em đã làm combobox.ValueMember = “MaPB” combobox.DisplayMember=”TenPB”Rồi khi em viết sự kiện cho cell_clock thì em chỉ cần làm như sau: combobox.SelectedValue = giá trị em có.


Trả lời
*
Sơn viết:

e lấy dữ liệu từ CSDL qua datagirdview để sửae làm theo hướng dẫn của thầy được rồinhưng khi sửa thì nó báo lỗi như này thầy giúp e với ạhttp://www.upsieutoc.com/image/cVErVy


Trả lời
*
hathihue591858 viết:

thầy ơi đề tài của em gồm hai đối tượng là quản lý và nhân viên. bây giờ em muốn phân quền cho quản lý làm được hết các quyền còn nhân viên thì hạn chế các chức năng được xem. thì em phải làm thế nào ạ.


Trả lời
*
Dung viết:

thầy ơi em làm form đăng nhập xong nhưng muốn liên kết với form chính thì làm như thế nào ạ


Trả lời
*
Phan Tiến viết:

Em có thể thiết kế một form cha (ứng dụng MDI), thiết kế các menu trong đó có menu bật form đăng nhập. Em xem bài tập phần 2 về thiết kế ứng dụng MDI.


Trả lời
*
Dung viết:

thưa thầy em muốn vào hệ thống thì cái form đăng nhập hiện lên đầu tiên sau đó là form chương trình chính mà e đã đặt chương trình chính là form cha rồi ạ,em viết form đăng nhập riêng liệu có cách nào liên kết 2 form với nhau k ạ


Trả lời
*
hà huế viết:

Đăng nhập–>from chính–>from con ntn thì from cha là cái nào vậy ạ. e muốn khi vào chương chình thì from đăng nhập hiện lên đầu tiên ạ.


Trả lời
*
nguyenthituoi viết:

SqlConnection con = new SqlConnection(
"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\SV\QLBH\QLBH\QLBS.mdf;Integrated Security=True;User Instance=True"); SqlDataAdapter sda = new SqlDataAdapter("Select count(*)from tblDangNhap where MaNV="" + txtTenDangNhap.Text + ""and Pass="" + txtMatKhau.Text + """, con); DataTable dt = new DataTable(); sda.Fill(dt);

/*string sql="Select *from tblDangNhap where MaNV="" + txtTenDangNhap.Text + ""and Pass="" + txtMatKhau.Text + """; SqlCommand cmd = new SqlCommand(sql); SqlDataReader dta = cmd.ExecuteReader(); if (dta.Read() == true) { this.Hide(); frmQLBSach ss = new frmQLBSach(); ss.Show(); }*/ if (dt.Rows<0><0>.ToString() == "1") { this.Hide(); frmQLBSach ss = new frmQLBSach(); ss.Show(); } else { MessageBox.Show(" Có lỗi vui lòng kiểm tra lại tên đăng nhập hoặc mật khâu!"); }thầy ơi em nhập vào đúng mật khẩu pass nhưng nó luôn thực hiện câu lệnh ở phần else e k biết lỗi ở đâu ạ thầy kiểm tra giúp e vs


Trả lời
*
nguyenthituoi viết:

SqlDataAdapter sda = new SqlDataAdapter(” Select Count(*) From tblDangNhap Where MaNV= ‘ ” + txtTenDangNhap.Text + ” ‘ and Pass= ‘ ” + txtMatKhau.Text + ” ‘ ” , con);em sửa ntn đã được chưa ạ


Trả lời
*
nguyenthituoi viết:

thầy ơi nó vẫn báo lỗi như vậy ạ,thây xem giúp em sai chỗ nào với ạusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;

namespace BaiTapLon{ public partial class frmDangNhap : Form { public frmDangNhap() { InitializeComponent(); }

private void btnOK_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(
"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\SV\QLBH\QLBH\QLBS.mdf;Integrated Security=True;User Instance=True"); SqlDataAdapter sda = new SqlDataAdapter("Select count(*) from tblDangNhap where MaNV="" + txtTenDangNhap.Text + "" and Pass="" + txtMatKhau.Text + """ , con); DataTable dt = new DataTable(); sda.Fill(dt); if (dt.Rows<0><0>.ToString() == "1") { this.Hide(); frmQLBSach ss = new frmQLBSach(); ss.Show(); } else { MessageBox.Show(" Có lỗi vui lòng kiểm tra lại tên đăng nhập hoặc mật khâu!"); } }

private void btnThoat_Click(object sender, EventArgs e) { this.Close(); } }}


Trả lời
*
Duy Nhật viết:

Thầy ơi cho em hỏi?, Em làm mờ 1 button Lưu khi bắt đầu mở Form, sau đó em cho bấm Sửa thì Lưu hiện, nhưng khi nhấn Lưu lại, em muốn Lưu mờ lại thì bị lỗi luu.enabled.false, em cám ơn thầy


Trả lời
*
đặng xuân vương viết:

Thầy ơi cho em hỏi là bài số 10 á, mình muốn truy xuất đến từng groupbook để hiển thị từng groupbook hoặc muốn hiển thị hết thì làm sao ạ.Form 1:code của e đây. chạy toàn báo lỗi. private void btnLogin_Click(object sender, EventArgs e) { Edit frm = new Edit();

if (this.txtUser.Text == “phamminhtuan” && this.txtPassWord.Text == “123456”) { frm.grbStyle_formEdit.Update();

frm.Show(); } dangnhap();

}form 2:private void grbStyle_Enter(object sender, EventArgs e) {

} public GroupBox grbStyle_formEdit { get { return grbStyle; } set { grbStyle = value; } }và nếu truy xuất được group rồi e muốn truy xuất từng control trong groupbook thì phải làm sao ạ


Trả lời
*
võ thị thùy dung viết:

Thầy ơi cho e hỏi là tại sao viết theo kiểu này thì check vào checkbook thì chữ không thay đổi ạif (frm.chkBold.Checked == true) { frm.txtEditText.Font = new Font(frm.txtEditText.Font, FontStyle.Bold); frm.txtEditText.Clear(); frm.txtEditText.Text = frm.txtEditText.Text; frm.Show(); }

else if (frm.chkItalic.Checked == true) { frm.chkBold.Checked = false; frm.txtEditText.Font = new Font(frm.txtEditText.Font, FontStyle.Italic); frm.txtEditText.Text = frm.txtEditText.Text; }


Trả lời
*
võ thị thùy dung viết:

sự kiện này nằm trong nút login, nếu e để thuộc tính Autocheck của các checkbook và radiobutton là false thì khi login vào nó chỉ thay đổi chữ 1 lần, có cách nào khi em chọn các checkbook và radiobutton thì chữ thay đổi luôn được ko ạ.dưới đây là toàn bộ đoạn code của em ạ.private void btnLogin_Click(object sender, EventArgs e) { Edit frm = new Edit(); //frm.chkBold.AutoCheck = true; //frm.chkUnderline.AutoCheck = true; //frm.chkItalic.AutoCheck = frm.chkItalic.AutoCheck = true;

if (this.txtUser.Text == “phamminhtuan” && this.txtPassWord.Text == “123456”) { frm.grbStyle.Enabled = true; frm.grbColour.Enabled = false; frm.Show(); } else if (this.txtUser.Text == “admin” && this.txtPassWord.Text == “123”) { frm.grbStyle.Enabled = true; frm.grbColour.Enabled = true; frm.Show(); } dangnhap();

if (frm.chkBold.Checked == true) { frm.txtEditText.Font = new Font(frm.txtEditText.Font, FontStyle.Bold); frm.txtEditText.Clear(); frm.txtEditText.Text = frm.txtEditText.Text; frm.Show(); }

else if (frm.chkItalic.Checked == true) { frm.chkBold.Checked = false; frm.txtEditText.Font = new Font(frm.txtEditText.Font, FontStyle.Italic); frm.txtEditText.Text = frm.txtEditText.Text; }

//frm.rdoBlue.AutoCheck = true; //frm.rdoGreen.AutoCheck = true; //frm.rdoRed.AutoCheck = true;

if (frm.rdoBlue.Checked == true) frm.txtEditText.ForeColor = Color.Blue;

else if (frm.rdoRed.Checked == true) frm.txtEditText.ForeColor = Color.Red; else if(frm.rdoGreen.Checked==true) frm.txtEditText.ForeColor=Color.Green; }