XÂY DỰNG CACULATOR TRONG WINFORM(C#)
Số trang: 7
Loại file: doc
Dung lượng: 85.00 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Giới thiệu:
Caculator ứng dụng xây dựng chương trình máy tính điện tử nhỏ gồm có các
chức năng căn bản như : cộng, trừ, nhân, chia….
Nội dung trích xuất từ tài liệu:
XÂY DỰNG CACULATOR TRONG WINFORM(C#) ây dỰng caculator trong winform (c#) XÂY DỰNG CACULATOR TRONG WINFORM(C#) Thực hiện : Lý Thanh Quyên. Giới thiệu: Caculator ứng dụng xây dựng chương trình máy tính điện tử nhỏ gồm có các chức năng căn bản như : cộng, trừ, nhân, chia…. Cách thực hiện : Nếu bạn nào đã lập trình Visual Basic 6 thì chắc chắn sẽ biết được là VB6 có sử dụng mảng các control, cụ thể là mảng các buttons. Trong C# thì không có chức năng mảng các button, nhưng ta có một cách để dùng thay cho mảng trong VB6. Trước hết, hãy tạo một project có tên là Calculator. gồm các thuộc tính Các button số có màu xanh, các button còn lại có màu đỏ. Sau đây bạn sẽ viết code cho nó. Bạn thấy, các button có text tương ứng với các số và toán tử và ta sử dụng các text này để tính... Lưu ý: Bạn không bấm double click vào các button để tạo sự kiện cho nó, ta sẽ tạo bằng tay. -Bạn hãy khai báo 3 biến toàn cục : string num1 = ; string num2 = ; string exp = ; + num1 : lưu giá trị số thứ nhất + num2 : lưu giá trị số thứ hai + exp : lưu toán tử -Viết một phương thức để nhận giá trị của các số. Bạn hãy lấy tên phương thức là NumButton_Click. Phương thức này sẽ được gọi khi bạn click vào các button số. Nhưng làm các nào để tất cả các button số đều gọi tới phương thức này, bạn hãy code bằng tay để chỉ cho ứng dụng biết là khi bạn bấm các button số thì tự động nó sẽ gọi tới phương thức này. -Bạn hãy vào phần phương thức khởi tạo của Calculator, và đánh vào đoạn code ngay sau lời gọi hàmInitializeComponent(); public frmCalculator() { // // Required for Windows Form Designer support // InitializeComponent(); this.btn1.Click += new System.EventHandler(this.NumButton_Click); this.btn2.Click += new System.EventHandler(this.NumButton_Click); this.btn3.Click += new System.EventHandler(this.NumButton_Click); this.btn4.Click += new System.EventHandler(this.NumButton_Click); this.btn5.Click += new System.EventHandler(this.NumButton_Click); this.btn6.Click += new System.EventHandler(this.NumButton_Click); this.btn7.Click += new System.EventHandler(this.NumButton_Click); this.btn8.Click += new System.EventHandler(this.NumButton_Click); this.btn9.Click += new System.EventHandler(this.NumButton_Click); } Đây là cách để gọi một phương thức xử lý sự kiện khi bạn bấm vào một button. Tên trong ngoặc chính là phương thức mà đối tượng này sẽ gọi tới khi sự kiện Click được kích hoạt. Do vậy, bạn có thể thay đổi sự kiện bằng cách thay đổi tên sự kiện của button. Ví dụ bạn có thể gọi đến một sự kiện khi double click theo cách sau: this.btn9.DoubleClick += new System.EventHandler(this.NumButton_DoubleClick); Lúc này, nếu bạn double click vào button 9 thì nó sẽ tự động gọi tời phương thức trong ngoặc: NumButton_DoubleClick Lưu ý: tên của phương thức có thể là một tên bất kỳ, tuy nhiên bạn nên sử dụng một tên đàng sau dấu gạch là tên của sự kiện. Và dưới đây là nội dung của phương thức. private void NumButton_Click(object sender, System.EventArgs e) { Button btnClicked = (Button)sender; string num = btnClicked.Text; if (exp == =) { num1 = ; exp = ; } if (exp != ) { num2 += num; txtKetQua.Text = num2; }else{ num1 += num; txtKetQua.Text = num1; } } -Trong các đối số của phương thức, sender chính là đối tượng gọi tới phương thức này. Vì sender được để là kiểu object trong khi đối tượng ta gọi tới là Button nên ta sẽ chuyển nó thành kiểu button. Button btnClicked = (Button)sender; và bạn lấy giá trị của số bằng cách lấy text của button. -Tiếp theo bạn sẽ kiểm tra là toán tử có là dấu bằng không, toán tử là dấu bằng khi bạn vừa tính toánh xong một phép tính. Do đó, bạn sẽ khởi tạo lại giá trị cho biến số 1 về không (num1 = 0) và toán tử bằng trống (exp=). -Kế đến bạn kiểm tra xem toán tử có khác trống, nghĩa là toán tử phải là +, -, *, /. Điều này đồng nghĩa với số bạn chọn lúc này phải là số thứ 2 và bạn gán nối tiếp vào số thứ hai trước đó (vì ta sử dụng chuỗi) và cho hiển thị ra textbox kết quả. -Còn ngược lại có nghĩa là bạn chọn số đầu tiên và cũng làm các thao tác tương tự số thứ hai. Bạn viết tiếp một phương thức để xử lý khi bạn click vào các button toán tử. Trước hết, bạn pphải viết đoạn code để xử lý sự kiện click của các button toán tử. Bạn thêm đoạn code sau vào tiếp nối trong hàmkhởi tạoCalculator this.btnCong.Click += new System.EventHandler(this.btnExp_Click); this.btnTru.Click += new System.EventHandler(this.btnExp_Click); this.btnNhan.Click += new System.EventHandler(this.btnExp_Click); this.btnChia.Click += new System.EventHandler(this.btnExp_Click); Và dưới đây là hàm xử lý private void btnExp_Click(object sender, System.EventArgs e) { if (exp.Equals() || exp.Equals(=)) txtToanTu.Text = exp; else { double dblKetQua = Tinh(); num1 = dblKetQua.ToString(); num2 = ; txtKetQua.Text = num1.ToString(); } exp = ((Button)sender).Text; txtToanTu.Text = exp.ToString(); } -Nếu toán tử hiện tại là trống hay dấu bằng, có nghĩa là bạn click vào button toán tử lần đầu, thì nó chỉ gán vào biến exp toán tử vừa chọn và hiển thị tên toán tử này ra ô textbox toán tử của bảng tính. -Còn ngược lại, nếu bạn click vào toán tử lần thứ hai, nghĩa là trước đó bạn đã click vào một toán tử nào đó thì nó phải tính toán, ví dụ bạn đã có 4+2, giờ bạn bấm thêm toán tử - thì nó phải tính tổng của 2 số kia cho thành 6 rồi gán nó trở lại số thứ nhất (num1), và lúc này toán tử trở thành toán tử -, và cứ tiếp tục như vậy. Dưới đây là hàm tính kết quả: private double Tinh() { double dblKetQua = 0; switch(Convert.ToChar(exp)) { case '+': dblKetQua = Convert.ToDouble(num1) + Convert.ToDouble(num2); break; case '-': dblKetQua = Convert.ToDouble(num1) - Convert.ToDouble(num2); break; case '*': dblKetQua = Convert.ToDouble(num1) * Convert.ToDouble(num2); break; case '/': dblKetQua = Convert.ToDouble(num1) / Convert.ToDouble(num2); break; }; return dblKetQua; } Hàm này sẽ kiểm tra toán tử exp dùng switch để biết toán tử nào để tính toán hợp lý và trả kết quả về. Tiếp theo bạn viết một hàm để xử ...
Nội dung trích xuất từ tài liệu:
XÂY DỰNG CACULATOR TRONG WINFORM(C#) ây dỰng caculator trong winform (c#) XÂY DỰNG CACULATOR TRONG WINFORM(C#) Thực hiện : Lý Thanh Quyên. Giới thiệu: Caculator ứng dụng xây dựng chương trình máy tính điện tử nhỏ gồm có các chức năng căn bản như : cộng, trừ, nhân, chia…. Cách thực hiện : Nếu bạn nào đã lập trình Visual Basic 6 thì chắc chắn sẽ biết được là VB6 có sử dụng mảng các control, cụ thể là mảng các buttons. Trong C# thì không có chức năng mảng các button, nhưng ta có một cách để dùng thay cho mảng trong VB6. Trước hết, hãy tạo một project có tên là Calculator. gồm các thuộc tính Các button số có màu xanh, các button còn lại có màu đỏ. Sau đây bạn sẽ viết code cho nó. Bạn thấy, các button có text tương ứng với các số và toán tử và ta sử dụng các text này để tính... Lưu ý: Bạn không bấm double click vào các button để tạo sự kiện cho nó, ta sẽ tạo bằng tay. -Bạn hãy khai báo 3 biến toàn cục : string num1 = ; string num2 = ; string exp = ; + num1 : lưu giá trị số thứ nhất + num2 : lưu giá trị số thứ hai + exp : lưu toán tử -Viết một phương thức để nhận giá trị của các số. Bạn hãy lấy tên phương thức là NumButton_Click. Phương thức này sẽ được gọi khi bạn click vào các button số. Nhưng làm các nào để tất cả các button số đều gọi tới phương thức này, bạn hãy code bằng tay để chỉ cho ứng dụng biết là khi bạn bấm các button số thì tự động nó sẽ gọi tới phương thức này. -Bạn hãy vào phần phương thức khởi tạo của Calculator, và đánh vào đoạn code ngay sau lời gọi hàmInitializeComponent(); public frmCalculator() { // // Required for Windows Form Designer support // InitializeComponent(); this.btn1.Click += new System.EventHandler(this.NumButton_Click); this.btn2.Click += new System.EventHandler(this.NumButton_Click); this.btn3.Click += new System.EventHandler(this.NumButton_Click); this.btn4.Click += new System.EventHandler(this.NumButton_Click); this.btn5.Click += new System.EventHandler(this.NumButton_Click); this.btn6.Click += new System.EventHandler(this.NumButton_Click); this.btn7.Click += new System.EventHandler(this.NumButton_Click); this.btn8.Click += new System.EventHandler(this.NumButton_Click); this.btn9.Click += new System.EventHandler(this.NumButton_Click); } Đây là cách để gọi một phương thức xử lý sự kiện khi bạn bấm vào một button. Tên trong ngoặc chính là phương thức mà đối tượng này sẽ gọi tới khi sự kiện Click được kích hoạt. Do vậy, bạn có thể thay đổi sự kiện bằng cách thay đổi tên sự kiện của button. Ví dụ bạn có thể gọi đến một sự kiện khi double click theo cách sau: this.btn9.DoubleClick += new System.EventHandler(this.NumButton_DoubleClick); Lúc này, nếu bạn double click vào button 9 thì nó sẽ tự động gọi tời phương thức trong ngoặc: NumButton_DoubleClick Lưu ý: tên của phương thức có thể là một tên bất kỳ, tuy nhiên bạn nên sử dụng một tên đàng sau dấu gạch là tên của sự kiện. Và dưới đây là nội dung của phương thức. private void NumButton_Click(object sender, System.EventArgs e) { Button btnClicked = (Button)sender; string num = btnClicked.Text; if (exp == =) { num1 = ; exp = ; } if (exp != ) { num2 += num; txtKetQua.Text = num2; }else{ num1 += num; txtKetQua.Text = num1; } } -Trong các đối số của phương thức, sender chính là đối tượng gọi tới phương thức này. Vì sender được để là kiểu object trong khi đối tượng ta gọi tới là Button nên ta sẽ chuyển nó thành kiểu button. Button btnClicked = (Button)sender; và bạn lấy giá trị của số bằng cách lấy text của button. -Tiếp theo bạn sẽ kiểm tra là toán tử có là dấu bằng không, toán tử là dấu bằng khi bạn vừa tính toánh xong một phép tính. Do đó, bạn sẽ khởi tạo lại giá trị cho biến số 1 về không (num1 = 0) và toán tử bằng trống (exp=). -Kế đến bạn kiểm tra xem toán tử có khác trống, nghĩa là toán tử phải là +, -, *, /. Điều này đồng nghĩa với số bạn chọn lúc này phải là số thứ 2 và bạn gán nối tiếp vào số thứ hai trước đó (vì ta sử dụng chuỗi) và cho hiển thị ra textbox kết quả. -Còn ngược lại có nghĩa là bạn chọn số đầu tiên và cũng làm các thao tác tương tự số thứ hai. Bạn viết tiếp một phương thức để xử lý khi bạn click vào các button toán tử. Trước hết, bạn pphải viết đoạn code để xử lý sự kiện click của các button toán tử. Bạn thêm đoạn code sau vào tiếp nối trong hàmkhởi tạoCalculator this.btnCong.Click += new System.EventHandler(this.btnExp_Click); this.btnTru.Click += new System.EventHandler(this.btnExp_Click); this.btnNhan.Click += new System.EventHandler(this.btnExp_Click); this.btnChia.Click += new System.EventHandler(this.btnExp_Click); Và dưới đây là hàm xử lý private void btnExp_Click(object sender, System.EventArgs e) { if (exp.Equals() || exp.Equals(=)) txtToanTu.Text = exp; else { double dblKetQua = Tinh(); num1 = dblKetQua.ToString(); num2 = ; txtKetQua.Text = num1.ToString(); } exp = ((Button)sender).Text; txtToanTu.Text = exp.ToString(); } -Nếu toán tử hiện tại là trống hay dấu bằng, có nghĩa là bạn click vào button toán tử lần đầu, thì nó chỉ gán vào biến exp toán tử vừa chọn và hiển thị tên toán tử này ra ô textbox toán tử của bảng tính. -Còn ngược lại, nếu bạn click vào toán tử lần thứ hai, nghĩa là trước đó bạn đã click vào một toán tử nào đó thì nó phải tính toán, ví dụ bạn đã có 4+2, giờ bạn bấm thêm toán tử - thì nó phải tính tổng của 2 số kia cho thành 6 rồi gán nó trở lại số thứ nhất (num1), và lúc này toán tử trở thành toán tử -, và cứ tiếp tục như vậy. Dưới đây là hàm tính kết quả: private double Tinh() { double dblKetQua = 0; switch(Convert.ToChar(exp)) { case '+': dblKetQua = Convert.ToDouble(num1) + Convert.ToDouble(num2); break; case '-': dblKetQua = Convert.ToDouble(num1) - Convert.ToDouble(num2); break; case '*': dblKetQua = Convert.ToDouble(num1) * Convert.ToDouble(num2); break; case '/': dblKetQua = Convert.ToDouble(num1) / Convert.ToDouble(num2); break; }; return dblKetQua; } Hàm này sẽ kiểm tra toán tử exp dùng switch để biết toán tử nào để tính toán hợp lý và trả kết quả về. Tiếp theo bạn viết một hàm để xử ...
Tìm kiếm theo từ khóa liên quan:
công nghệ thông tin kỹ thuật lập trình XÂY DỰNG CACULATOR WINFORM(C#)Tài liệu liên quan:
-
52 trang 433 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 319 0 0 -
74 trang 303 0 0
-
96 trang 297 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 291 0 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 284 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 277 0 0 -
Tài liệu hướng dẫn sử dụng thư điện tử tài nguyên và môi trường
72 trang 269 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 269 1 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 268 0 0