e có 1 bài tập window form như sau: Nhập 1 dãy số nguyên sau đó sắp xếp tăng dần và đưa ra giá trị max của dãy.
Form design: 
Ý tưởng/lối suy nghĩ:
- Label Nhập số phần tử của mảng - TxbNhap - BtnNhap: nhập giá trị số nguyên vào TxbNhap1, sau đó click BtnNhap1 thì 3 class này sẽ bị mờ đi (Enable = false; ReadOnly = true
Code:
Code:
private void BtnNhap_Click(object sender, EventArgs e)
{
BtnNhap.Enabled = false;
BtnNhap2.Enabled = true;
TxbNhap.ReadOnly = true;
LblText6.Enabled = true;
LblText4.Enabled = true;
LblText5.Enabled = true;
LblText1.Enabled = false;
}
- Label Nhập pt thứ - label số (dùng thêm timer_tick để số chạy từ 1 đến khi đạt bằng giá trị của TxbNhap2 sau mỗi lần click BtnNhap2) - BtnNhap2: nhập giá trị số nguyên tuơng ứng từng phần tử i của mảng a (a[i]), sau khi nhập và click BtnNhap2 đủ số lần (bằng giá trị của TbbNhap1/số phần tử mảng) thì 3 class này sẽ tiếp tục bị mờ đi (Enable = false; ReadOnly = true
Code:
Code:
string s = " ";
int i;
private void BtnNhap2_Click(object sender, EventArgs e)
{
int n = Convert.ToInt32(TxbNhap.Text);
int[] a = new int[n];
for (i = 1; i <= n; i++)
s = " ";
{
int s = Convert.ToInt32(TxbNhap2.Text);
TxbDS.Text += s.ToString().Trim() + " ";
TxbNhap2.Text = "";
}
if (i == n)
{
BtnNhap2.Enabled = false;
LblText6.Enabled = false;
LblText4.Enabled = false;
LblText5.Enabled = false;
TxbNhap2.ReadOnly = false;
}
}
Sau khi nhập từng số và click BtnNhap2, số vẫn được in ở dưới TxbDS đã đặt ReadOnly ở dưới nhưng không làm mờ 3 class khi đã đạt đủ/bằng giá trị của TbbNhap1/số phần tử mảng. Vẫn có thể tiếp tục nhập đến khi nào chán thì thôi 
- Label Dãy số đã nhập - TxbDS: TxbDS hiển thị các phần tử đã nhập sau khi gõ số vào TxbNhap2 và click BtnNhap2
- BtnKQ - BtnClear: sau khi click BtnKQ thì TxbDS ở trên sẽ được sắp xếp lại tăng dần và In ra TxbDSDSX. BtnClear thì sẽ xóa hết và trả tất cả về mặc định.
Code BtnClear:
Code:
private void BtnClear_Click(object sender, EventArgs e)
{
BtnNhap.Enabled = true;
BtnNhap2.Enabled = false;
LblText1.Enabled = true;
LblText6.Enabled = false;
LblText4.Enabled = false;
LblText5.Enabled = false;
TxbNhap.ReadOnly = false;
TxbNhap2.ReadOnly = true;
TxbDS.Text = "";
TxbDSDSX.Text = "";
TxbMAX = "";
}
Code BtnKQ
Code:
CÁI NÀY E CHƯA LÀM, ĐÚNG HƠN LÀ CHƯA LÀM ĐƯỢC :P
- Label Dãy số đã sắp xếp - TxbDSDSX: TxbDSDSX sẽ in ra mảng gồm các số tăng dần.
- Label MAX - TxbMAX: đưa ra giá trị MAX trong dãy số ở TxbDSDSX bằng cách in ra phần tử cuối cùng trong dãy
Code TxbMAX Mọi người góp ý và cho e hướng dẫn để giải quyết với ạ.
E xin cảm ơn 