2021.10.29 c#简易计算器 窗体控件
一、今日学习内容
1.编写一个计算器,练习在窗体上添加控件、调整控件的布局,设置或修改控件属性,
编写事件处理程序的方法。
(1)新建 windows 应用程序。在窗体 Form 上拖放一个 TextBox 控件、十六个 Button 控
件,整个窗体布局如下图所示。
(2)打开代码窗口,添加如下全局变量:
double a = 0;
double b = 0;
bool c = false;
string d;
(3)双击”1”按钮,添加如下事件处理程序:
private void button1_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "1";
}
(4)双击”2”按钮,添加如下事件处理程序:
private void button2_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox2.Text = "";
c = false;
}
textBox1.Text += "2";
}
(5)双击”3”按钮,添加如下事件处理程序:
private void button3_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox3.Text = "";
c = false;
}
textBox1.Text += "3";
}
(6)双击”4”按钮,添加如下事件处理程序:
private void button4_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "4";
}
(7)双击”5”按钮,添加如下事件处理程序:
private void button5_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "5";
}
(8)双击”6”按钮,添加如下事件处理程序:
private void button6_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "6";
}
(8)双击”7”按钮,添加如下事件处理程序:
private void button7_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "7";
}
(10)双击”8”按钮,添加如下事件处理程序:
private void button8_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "8";
}
(11)双击”9”按钮,添加如下事件处理程序:
private void button9_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "9";
}
(12)双击”0”按钮,添加如下事件处理程序:
private void button12_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "0";
if (d == "/")
{
textBox1.Clear();
MessageBox.Show("除数不能为零", "错误提示", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
}
}
(13)双击”+”按钮,添加如下事件处理程序:
private void button13_Click(object sender, EventArgs e)
{
c = true;
b = double.Parse(textBox1.Text);
d = "+";
}
(14)双击”-”按钮,添加如下事件处理程序:
private void button16_Click(object sender, EventArgs e)
{
c = true;
b = double.Parse(textBox1.Text);
d = "-";
}
(15)双击”*”按钮,添加如下事件处理程序:
private void button15_Click(object sender, EventArgs e)
{
c = true;
b = double.Parse(textBox1.Text);
d = "*";
}
(16)双击”/”按钮,添加如下事件处理程序:
private void button14_Click(object sender, EventArgs e)
{
c = true;
b = double.Parse(textBox1.Text);
d = "/";
}
(17)双击”=”按钮,添加如下事件处理程序:
private void button17_Click(object sender, EventArgs e)
{
switch (d)
{
case "+": a = b + double.Parse(textBox1.Text); break;
case "-": a = b - double.Parse(textBox1.Text); break;
case "*": a = b * double.Parse(textBox1.Text); break;
case "/": a = b / double.Parse(textBox1.Text); break;
}
textBox1.Text = a + "";
c = true;
}
(18)双击”c”按钮,添加如下事件处理程序:
private void button18_Click(object sender, EventArgs e)
{
textBox1.Text = "";
}
(19)单击启动调试工具,运行计算器。
(20)在计算器中,增加四个功能键:x2,sqrt,log, ln 四个键,分别计算求平方,开方,
log,ln 值
private void button15_Click(object sender, EventArgs e) { switch (d) { case "+": a = b + double.Parse(textBox1.Text); break; case "-": a = b - double.Parse(textBox1.Text); break; case "*": a = b * double.Parse(textBox1.Text); break; case "/": a = b / double.Parse(textBox1.Text); break; case "x^2": a = b * b; break; case "sqrt": a = Math.Sqrt(b); break; case "log": a = Math.Log10(b); break; case "ln": a = Math.Log(b); break; } textBox1.Text = a + ""; c = true; } private void button17_Click(object sender, EventArgs e) { c = true; b = double.Parse(textBox1.Text); d = "x^2"; } private void button18_Click(object sender, EventArgs e) { c = true; b = double.Parse(textBox1.Text); d = "sqrt"; } private void button19_Click(object sender, EventArgs e) { c = true; b = double.Parse(textBox1.Text); d = "log"; } private void button20_Click(object sender, EventArgs e) { c = true; b = double.Parse(textBox1.Text); d = "ln"; }
2、
自己设计并编写一个 Windows 应用程序,要求用到 TextBox、GroupBox、
RadioButton、CheckBox、ComboBox、ListBox 控件。将程序功能、界面布局和运行结果
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; namespace WindowsFormsApplication1 { public partial class Form3 : Form { public Form3() { InitializeComponent(); } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { richTextBox1.Text += "专业:" + listBox1.SelectedItem + "\n"; } private void groupBox1_Enter(object sender, EventArgs e) { } private void groupBox2_Enter(object sender, EventArgs e) { } private void richTextBox1_TextChanged(object sender, EventArgs e) { } private void radioButton2_CheckedChanged(object sender, EventArgs e) { if (radioButton2.Checked == true) richTextBox1.Text += "性别:" + radioButton1.Text + "\n"; } private void radioButton1_CheckedChanged(object sender, EventArgs e) { if (radioButton1.Checked == true) richTextBox1.Text += "性别:" + radioButton1.Text + "\n"; } private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) //如果键入回车键,则向richTextBox1中添加姓名 richTextBox1.Text += "姓名:" + textBox1.Text + "\n"; } private void textBox2_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) //如果键入回车键,则向richTextBox1中添加学号 richTextBox1.Text += "学号:" + textBox2.Text + "\n"; } private void comboBox1_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar == 13) && comboBox1.Text != "") richTextBox1.Text += "班级:" + comboBox1.Text + "\n"; } private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked == true) richTextBox1.Text += "爱好:" + checkBox1.Text + "\n"; } private void checkBox2_CheckedChanged(object sender, EventArgs e) { if (checkBox2.Checked == true) richTextBox1.Text += "爱好:" + checkBox2.Text + "\n"; } private void checkBox3_CheckedChanged(object sender, EventArgs e) { if (checkBox3.Checked == true) richTextBox1.Text += "爱好:" + checkBox3.Text + "\n"; } private void checkBox4_CheckedChanged(object sender, EventArgs e) { if (checkBox4.Checked == true) richTextBox1.Text += "爱好:" + checkBox4.Text + "\n"; } private void checkBox5_CheckedChanged(object sender, EventArgs e) { if (checkBox5.Checked == true) richTextBox1.Text += "爱好:" + checkBox5.Text + "\n"; } private void button1_Click(object sender, EventArgs e) { //将文件以RTF格式保存到指定路径下 richTextBox1.SaveFile(@"F:\.net实验三\xinxi.rtf", RichTextBoxStreamType.RichText); } private void button2_Click(object sender, EventArgs e) { richTextBox1.Clear(); } private void button3_Click(object sender, EventArgs e) { //将指定文件加载到RichTextBox中 richTextBox1.LoadFile(@"F:\.net实验三\xinxi.rtf", RichTextBoxStreamType.RichText); } } }