Tạo ứng dụng Giải phương trình bậc nhất C# Winform
Thiết kế Form thực hiện bài toán giải phương trình bậc 1

Yêu cầu:
- Khi form hiện lên thì nút Giải và nút Xóa bị mờ (Enabled=false). Nếu dữ liệu nhập không hợp lệ thì thông báo lỗi (dùng errorProvider). Sau khi nhập dữ liệu hợp lệ và đầy đủ thì nút Giải có tác dụng (Enabled=true).
- Khi nhấn nút Tính: tính nghiệm phương trình (xét tất cả các trường hợp xảy ra: PT có 1 nghiệm, vô nghiệm, vô số nghiệm) và hiện kết quả vào Nghiệm PT. Khi đó nút Xóa có tác dụng, nút Tính bị mờ.
- Khi nhấn nút Xóa: xóa các Textbox và Label, đặt con trỏ vào Textbox A, nút Xóa bị mờ
- Khi nhấn nút Thoát: xác nhận người dùng có chắc chắn thoát khỏi ứng dụng hay không?
Code
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace b1_ptbacnhat { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void input1_TextChanged(object sender, EventArgs e) { if (input1.Text== "") //nếu ô input1 rỗng -->báo lỗi + tắt nút "Giải" { errorProvider1.SetError(input1, "Không được để trống !,hãy nhập số "); nutgiai.Enabled = false; } else // nếu ô input1 không rỗng-->có dữ liệu-->xét tiếp nếu ô input2 cũng có DL -->Đủ Đ.Kiện để bật nút Giải { errorProvider1.Clear();// không báo lỗi if(input2.Text != "") { nutgiai.Enabled = true; } } } private void input2_TextChanged_1(object sender, EventArgs e) { if (input2.Text == "")//nếu ô input2 rỗng -->báo lỗi + tắt nút "Giải" { errorProvider2.SetError(input2, "Không được để trống ! hãy nhập số "); nutgiai.Enabled = false; } else// nếu ô input2 không rỗng-->có dữ liệu-->xét tiếp nếu ô input1 cũng có DL -->Đủ Đ.Kiện để bật nút Giải { errorProvider2.Clear();// tắt báo lỗi if(input1.Text !="") { nutgiai.Enabled = true; } } } private void nutgiai_Click_1(object sender, EventArgs e) { //Ben Console: float bien = float.Parse(Console.ReadLine()); //COVER TU DANG CHUOI NHAP VAO ==>SANG DANG SO THI MOI TINH TOAN DUOC float a = float.Parse(input1.Text); float b = float.Parse(input2.Text); if(a==0) { // Xét tiếp trường hợp nếu a=0 và b=0 if(b==0) { nghiempt.Text = "Phương trình vô số nghiệm"; } //ngược lại:a=0 nhưng b khác 0 else { nghiempt.Text = "Phương trình vô nghiệm"; } } else { float x = (-b / a);// nghiempt.Text = x.ToString();// sau khi tinh xong===>Cover lai sang dang chuoi de in ra nghiempt.Text = "Phương trình có nghiệm duy nhất x= "+x; } nutxoa.Enabled = true; nutgiai.Enabled = false; } private void nutxoa_Click(object sender, EventArgs e) { input1.Clear(); input2.Clear(); nghiempt.Clear(); //input1.Focus(); nutgiai.Enabled = false; nutxoa.Enabled = false; } private void nutthoat_Click(object sender, EventArgs e) { DialogResult thoat; thoat = MessageBox.Show("Bạn có chắc chắn muốn thoát không ?","Thoát", MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1); //Nếu bấm Yes-->đóng chương trình if(thoat == DialogResult.Yes) { this.Close(); } } } }