当前位置: 首页 > news >正文

C#面向对象程序设计课程实验二: 实验名称:Windows 窗体程序

C#面向对象程序设计课程实验二: 实验名称:Windows 窗体程序

  • 实验内容:Windows 窗体程序
  • 一、实验目的及要求
  • 二、实验环境
  • 三、实验内容与步骤
    • 一、设计简单的计算器
    • 3.1、实验内容
    • 3.2、实验步骤
    • 二、设计选购计算器配置的应用程序
    • 3.1、实验内容
    • 3.2、实验步骤
  • 四、实验总结

实验内容:Windows 窗体程序

在这里插入图片描述

一、实验目的及要求

  • (1) 掌握控件 Label、Button、TextBox 的常用属性、方法、事件的基本应用;
  • (2) 掌握控件 RadioButton、CheckBox 的常用属性、方法、事件的基本应用通过简单程 序;
  • (3) 掌握框-架类控件 GroupBox、Panel、TabControl 的基本应用;
  • (4) 掌握控件 ListBox、CombBox 、ListView 的常用属性、方法、事件的基本应用;
  • (5) 掌握 Windows 应用程序的结构;
  • (6)掌握 WinForm 的设计
  • (7)进一步学习掌握查找与修改编译错误的方法;

二、实验环境

Microsoft Visual Studio 2008

三、实验内容与步骤

一、设计简单的计算器

3.1、实验内容

  • 设计一个简单的计算器,使其可以进行加、减、乘、除计算,程序运行状态如图所 示。(教材第 4 章 113 页 3.1 题)

如下所示

在这里插入图片描述

3.2、实验步骤

1、实验界面的属性设置如下:

  • (1)三个Lable的Text属性:第一个数、第二个数、运算结果。
  • (2)四个RadButton的Text属性和Name属性:+和radAdd、-和radSub、×和radMul、÷和radDiv。
  • (3)一个Button的Name和Text属性:btnOk和运算。

2、实验程序的设计代码如下:

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 实验二_1_
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            double a, b;
            a = Convert.ToDouble(txtDigit1.Text);
            b = Convert.ToDouble(txtDigit2.Text);

            if (radAdd.Checked)
                txtShow.Text =Convert.ToString(a + b);
            if (radSub.Checked)
                txtShow.Text = Convert.ToString(a - b);
            if (radMul.Checked)
                txtShow.Text = Convert.ToString(a * b);
            if (radDiv.Checked)
            {
                if (b==0)
                    MessageBox.Show("除数不能为零!");
                else 
                    txtShow.Text = Convert.ToString(a / b);
            }
        }
    }
}
  • 3、实验的运行结果如下
  1. 3.1、简单的计算器的除
    在这里插入图片描述
    在这里插入图片描述

  2. 3.2、简单的计算器的乘
    在这里插入图片描述

  3. 3.3、简单的计算器的减

在这里插入图片描述

  1. 3.4、简单的计算器的加

在这里插入图片描述

4、实验实现了加减乘除的基本运算,并且可以判断除数不能为零的情况。

二、设计选购计算器配置的应用程序

3.1、实验内容

  • 设计一个选购计算器配置的应用程序,如下图所示。当用户选定了基本配置并且 单击“确定”按钮后,在右边的列表框中显示所选择的信息。(教材第 4 章 113 页 3.2 题)

如下所示

在这里插入图片描述

3.2、实验步骤

  • 1、实验的界面设计如下:
容器Name属性Item属性DropDownHeight属性Text属性
comboBoxcboCollection联想 方正 Dell 兼容机Simple
groupBox1CPU
groupBox2内存
groupBox3其他设备
基本控件Name属性Text属性
RadioButton1radPentiumDPentium D
RadioButton2radPentiumMPentium M
RadioButton3radXeonXeon
RadioButton4rad256MB256MB
RadioButton5Rad512MB512MB
CheckBox1chkPrinter打印机
CheckBox2chkModeMode
CheckBox3chkNetConfiguration网络适配器
ListBoxlstShow
ButtonbtnOk确定
  • 2、实验的程序设计代码如下:
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 实验二_2_
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            lstShow.Items.Clear();
            string a = cboCollection.SelectedItem.ToString();
            lstShow.Items.Add(a);

            if (radPentiumD.Checked)
                lstShow.Items.Add(radPentiumD.Text);
            if (radPentiumM.Checked)
                lstShow.Items.Add(radPentiumM.Text);
            if (radXeon.Checked)
                lstShow.Items.Add(radXeon.Text);

            if (rad256MB.Checked)
                lstShow.Items.Add(rad256MB.Text);
            if (rad512MB.Checked)
                lstShow.Items.Add(rad512MB.Text);

            if (chkPrinter.Checked)
                lstShow.Items.Add(chkPrinter.Text);
            if (chkMode.Checked)
                lstShow.Items.Add(chkMode.Text);
            if (chkNetConfiguration.Checked)
                lstShow.Items.Add(chkNetConfiguration.Text);
        }
    }
}
  • 3、实验的运行效果如下:
  1. 3.1
    在这里插入图片描述

  2. 3.2
    在这里插入图片描述

  3. 3.3
    在这里插入图片描述

  • 4、lstShow.Items.Clear();语句实现了每一次操作,将原有的ListBox的Item集合清除的效果。

四、实验总结

在这里插入图片描述

  • 1、通过C#的Windows掌握了Button、TextBox、RadioButton、CheckBox GroupBox等基本控件和容器的基本属性。
  • 2、掌握了ListBox的Item的Add方法添加项目等基本用法。
  • 3、掌握了Convert的类进行数据的转换方法的应用。
  • 4、实验过程中出现了
if (b=0)
   MessageBox.Show("除数不能为零!");

基本错误,编译不成功,才知道应该为

b==0(b=0是赋值语句,而b==0是判断b是否等于零)

在这里插入图片描述

相关文章:

  • MySql主从同步
  • java基于springboot+Vue+nodejs的高校运动会报名管理系统 element
  • 单链表❀数据结构
  • Linux——孤儿进程|进程的优先级 用top命令去修改优先级 其他概念 环境变量 PATH 获取环境变量
  • Linux系统编程-网络基础(四)-协议03:数据包封装【以太网(Mac)帧:最大值1500字节称为以太网的MTU(最大传输单元),不包括帧报头长度】
  • 一次诡异的numpy数组越界访问
  • cmd炫技小方法
  • kafka搭建单机开发教程
  • 如果你需要用Python搞个二维码,那应该收藏这篇博客
  • Linux权限的认识
  • 【JavaScript】五个常用功能/案例:判断特定结尾字符串 | 获取指定字符串 | 颜色字符串转换 | 字符串转驼峰格式 | 简易购物车
  • Kotlin 字符串与空值判断
  • 【NLP开发】Python实现聊天机器人(ALICE)
  • 【题解】同济线代习题二 8.1
  • 【C语言】五分钟彻底搞定字符串
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 77. Combinations
  • canvas绘制圆角头像
  • crontab执行失败的多种原因
  • hadoop集群管理系统搭建规划说明
  • npx命令介绍
  • vue 个人积累(使用工具,组件)
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 聚类分析——Kmeans
  • 一个SAP顾问在美国的这些年
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • # 数据结构
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (1)常见O(n^2)排序算法解析
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (黑马C++)L06 重载与继承
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)JAVA中的堆栈
  • (转)Unity3DUnity3D在android下调试
  • (转)项目管理杂谈-我所期望的新人
  • ./和../以及/和~之间的区别
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 连接数据库,通过数据库生成Modell
  • .Net Core 中间件与过滤器
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .pop ----remove 删除
  • @Autowired @Resource @Qualifier的区别
  • @staticmethod和@classmethod的作用与区别
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成