任務:使用Visual Studio製作一個簡易計算器。
目錄
1.新建項目、選擇模板、命名
篩選模板C#、Windows、桌面,選擇Windows窗體應用(.NET Framework)。(使用過的模板會有記錄,方便再次使用)
命名,選擇保存位置。(最好新建文件夾,方便查找)。
進入界面:
2.拖動控件
這裏最大的優勢就是可以直接選擇控件進行拖動,後臺會自動寫好代碼,方便太多了。
Button爲按鈕。
雙擊界面可查看代碼:
點擊單個控件,右下角可修改其具體屬性。
TextBox爲顯示數據的地方。
注:常用測試語句
點擊Button1,寫入代碼
MessageBox.Show("1");
啓動後,點擊Button1,可彈出窗口,顯示“1”。
3.修改名稱、調整位置
右下角屬性中,Text,可修改控件的名稱。
調整位置。
4.寫代碼:定義變量
定義第一個數,第二個數及結果。
double LeftNumber, RightNumber, Result; //定義第一個數、第二個數、結果
string Operator = ""; //運算符
5.寫代碼:點擊數字按鈕事件
例如,點擊按鈕“1”,文本框內數字+1。
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text += "1"; //文本框顯示
}
6.寫代碼:點擊運算符按鈕事件
例如,點擊“+”時,將文本框中的數轉換爲double並賦值給LeftNumber。
private void button11_Click(object sender, EventArgs e) //+
{
LeftNumber = Convert.ToDouble(textBox1.Text); //轉換爲double類型
Operator = "+"; //運算符
textBox1.Text = ""; //文本框清空
}
7.寫代碼:點擊“=”按鈕事件
等於即將存儲的LeftNumber、運算符、RightNumber進行運算。
private void button15_Click(object sender, EventArgs e) //=
{
RightNumber = Convert.ToDouble(textBox1.Text); //第二個數轉換爲double類型
switch (Operator) //選擇運算符
{
case "+":
Result = LeftNumber + RightNumber;
break;
case "-":
Result = LeftNumber - RightNumber;
break;
case "*":
Result = LeftNumber * RightNumber;
break;
case "/":
Result = LeftNumber / RightNumber;
break;
}
textBox1.Text = Result.ToString(); //轉換爲double類型
}
8.寫代碼:點擊“C”按鈕事件
清空文本框。
private void button17_Click(object sender, EventArgs e) //C
{
textBox1.Text = ""; //清空
}
結果
源代碼
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 Calculator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double LeftNumber, RightNumber, Result; //定義第一個數、第二個數、結果
string Operator = ""; //運算符
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text += "1";
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text += "2";
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text += "3";
}
private void button4_Click(object sender, EventArgs e)
{
textBox1.Text += "4";
}
private void button5_Click(object sender, EventArgs e)
{
textBox1.Text += "5";
}
private void button6_Click(object sender, EventArgs e)
{
textBox1.Text += "6";
}
private void button7_Click(object sender, EventArgs e)
{
textBox1.Text += "7";
}
private void button8_Click(object sender, EventArgs e)
{
textBox1.Text += "8";
}
private void button9_Click(object sender, EventArgs e)
{
textBox1.Text += "9";
}
private void button10_Click(object sender, EventArgs e)
{
textBox1.Text += "0";
}
private void button16_Click(object sender, EventArgs e)
{
textBox1.Text += "."; //小數點
}
private void button11_Click(object sender, EventArgs e) //+
{
LeftNumber = Convert.ToDouble(textBox1.Text); //轉換爲double類型
Operator = "+"; //運算符
textBox1.Text = ""; //文本框清空
}
private void button12_Click(object sender, EventArgs e) //-
{
LeftNumber = Convert.ToDouble(textBox1.Text); //轉換爲double類型
Operator = "-"; //運算符
textBox1.Text = ""; //文本框清空
}
private void button13_Click(object sender, EventArgs e) //×
{
LeftNumber = Convert.ToDouble(textBox1.Text); //轉換爲double類型
Operator = "*"; //運算符
textBox1.Text = ""; //文本框清空
}
private void button14_Click(object sender, EventArgs e) //÷
{
LeftNumber = Convert.ToDouble(textBox1.Text); //轉換爲double類型
Operator = "/"; //運算符
textBox1.Text = ""; //文本框清空
}
private void button15_Click(object sender, EventArgs e) //=
{
RightNumber = Convert.ToDouble(textBox1.Text); //第二個數轉換爲double類型
switch (Operator) //選擇運算符
{
case "+":
Result = LeftNumber + RightNumber;
break;
case "-":
Result = LeftNumber - RightNumber;
break;
case "*":
Result = LeftNumber * RightNumber;
break;
case "/":
Result = LeftNumber / RightNumber;
break;
}
textBox1.Text = Result.ToString(); //轉換爲double類型
}
private void button17_Click(object sender, EventArgs e) //C
{
textBox1.Text = ""; //清空
}
}
}
總結
比之前用Java做計算器簡單太多了,但是這此只是個簡單實驗,沒有考慮除零之類的其他問題。