.NET程序设计实验-3

发布时间 2024-01-09 15:25:17作者: wardream

实验三  Windows 应用程序开发

一、实验目的

1. 掌握窗口控件的使用方法;

2. 掌握Windows 的编程基础。

二、实验要求

根据要求,编写 C#程序,并将程序代码和运行结果写入实验报告。

三、实验内容

1.编写一个计算器,练习在窗体上添加控件、调整控件的布局,设置或修改控件属性,

编写事件处理程序的方法。

(1)新建 windows 应用程序。在窗体 Form 上拖放一个 TextBox 控件、十六个 Button 控

件,整个窗体布局如下图所示。

123456789+—*/=c

 

(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 button17_Click(object sender, EventArgs e)

{

    b = double.Parse(textBox1.Text);

    a = b * b;

    textBox1.Text = a + "";

    c = true;

}

 

private void button18_Click(object sender, EventArgs e)

{

    b = double.Parse(textBox1.Text);

    a = Math.Sqrt(b);

    textBox1.Text = a + "";

    c = true;

}

 

private void button19_Click(object sender, EventArgs e)

{

    b = double.Parse(textBox1.Text);

    a = Math.Log10(b);

    textBox1.Text = a + "";

    c = true;

}

 

private void button20_Click(object sender, EventArgs e)

{

    b = double.Parse(textBox1.Text);

    a = Math.Log(b);

    textBox1.Text = a + "";

    c = true;

}

2.自己设计并编写一个 Windows 应用程序,要求用到 TextBox、GroupBox、

RadioButton、CheckBox、ComboBox、ListBox 控件。将程序功能、界面布局和运行结果

的截图与事件代码写在实验报告中。

程序功能:提供一个能跳转到计算器的主页面

界面布局:左侧是一个lable的文字说明,下面两个输入框textbox,一个button登录按钮用来登录,右侧一个groupbox包裹着其他内容,包含两个radiobutton单选,两个checkbox多选,一个combobox,一个Listbox,还有若干个lable进行说明

运行结果:

 

事件代码:

using System.Linq;

using System.Runtime.ConstrainedExecution;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace DotNET3

{

    public partial class Form2 : Form

    {

        public Form2()

        {

            InitializeComponent();

        }

 

 

        private void button1_Click(object sender, EventArgs e)

        {

            Form1 form = new Form1();

            this.Hide();

            form.ShowDialog();

            this.Show();

        }

    }

}

四、实验总结

这次实验的第一个实验有老师的手把手教学,做起来很轻松,没有出现什么问题,后面自己新增的四个按钮可以查一下函数,知道了math函数中有包括开方、log之类的函数就很轻松了

后面自己做一个页面的时候我不知道自己该做什么,就先把所有框体都拖了上去,之后我就想加一个button用来跳转老师那完美的计算器,所以就变成了一个跳转页面,然后加了点自己瞎写的话组成整个页面

注:本部分写本次实验过程中出现的问题、如何解决、注意事项、以及自己的经 验体会。