C#程序设计——Windows应用程序开发,1、初步掌握Windows应用程序的设计方法。2、掌握常用窗体控件的使用方法。

news2024/9/23 1:27:25

Windows应用程序开发

一、实验目的                 

    1. 初步掌握Windows应用程序的设计方法。
    2. 掌握常用窗体控件的使用方法。

二、实验内容

1、设计一个Windows应用程序,创建一个用于添加学生个人基本信息的窗体,窗体下方法同时滚动信息“天行健,君子以自强不息!”。  

要示如下:

  1. 如图1所示,设计窗体界面控件的布局

图1 学生信息管理界面

  1. 单击图1中的“确定”按钮,会弹出一个信息框,输出所有填写的信息,如图2所示。

图2 消息信息界面

参考操作步骤如下:

  • 首先按照图1的窗体布局,拖动相应控件;其中注意:选择出生日期的是DateTimePicker控件,院系信息是ComboBox控件,专业是ListBox控件,爱好是CheckBox,还使用Timer控件来控制滚动信息。表1列出了主要控件需要修改的属性项。

表1需要修改的属性项

  • 选择ComboBox控件(cboDept)的Items属性,单击该属性右边的生成器按钮,在弹出的“字符串集合编辑器”窗体中依次输入 "计算系","微电子技术系","电子信息工程系","经济与管理工程系","图形艺术系",系与系之间以回车分隔。
  • 为窗体的Load事件添加以下代码:

  • 双击ComboBox控件(cboDept),为ComboBox控件的SelectedIndexChanged事件添加以下代码。其目的在于根据组合框中选择的不同系别,向ListBox列表框中加载该系的专业。(请自行将代码补充完整)

  • 双击确定按钮,将所选择信息用消息框输出,Click事件的代码如下:

请写出你的实验代码:

namespace 最后实验
{
    public partial class StudentFrm : Form
    {
        public StudentFrm()
        {
            InitializeComponent();
        }

        private void labName_Click(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.rdoMale.Checked = true;
            this.cboDept.SelectedIndex = 0;
            this.dtBirthday.MaxDate = DateTime.Now;
            this.dtBirthday.Value = this.dtBirthday.MinDate;
            this.timeGo.Enabled = true;
        }

        private void cboDept_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (this.cboDept.SelectedIndex)
            {
                case 0:
                    this.listSpec.Items.Clear();
                    this.listSpec.Items.Add("计算机科学与技术");
                    this.listSpec.Items.Add("信息与计算科学");
                    break;
                case 1:
                    this.listSpec.Items.Clear();
                    this.listSpec.Items.Add("集成电路与集成系统");
                    this.listSpec.Items.Add("集成电路设计与集成系统");
                    break;
                case 2:
                    this.listSpec.Items.Clear();
                    this.listSpec.Items.Add("物联网工程(物联云方向)");
                    this.listSpec.Items.Add("软件工程");
                    break;
                case 3:
                    this.listSpec.Items.Clear();
                    this.listSpec.Items.Add("会计学");
                    this.listSpec.Items.Add("市场营销");
                    break;
                case 4:
                    this.listSpec.Items.Clear();
                    this.listSpec.Items.Add("摄影艺术");
                    this.listSpec.Items.Add("动画制作");
                    break;

            }
        }

        private void btnYes_Click(object sender, EventArgs e)
        {
            string sex = "";
            if (rdoMale.Checked)
            {
                sex = "男";
            }
            else
            {
                sex = "女";
            }
            string dept = this.cboDept.SelectedItem.ToString();
            string spec = this.listSpec.SelectedItem.ToString();
            string hobby = "";
            if (checkBox1.Checked) hobby += checkBox1.Text;
            if (checkBox2.Checked) hobby += "、" + checkBox2.Text;
            if (checkBox3.Checked) hobby += "、" + checkBox3.Text;
            if (checkBox4.Checked) hobby += "、" + checkBox4.Text;
            if (checkBox5.Checked) hobby += "、" + checkBox5.Text;
            if (checkBox6.Checked) hobby += "、" + checkBox6.Text;

            string info = "您的姓名是:" + this.txtName.Text;
            info += "\n性别为:" + sex;
            info += "\n出生年月为:" + dtBirthday.Value.ToShortDateString();
            info += "\n您是" + dept + spec + "专业的学生";
            info += "\n您的兴趣有:" + hobby;
            MessageBox.Show(info,"学生信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
        }

        private void timeGo_Tick(object sender, EventArgs e)
        {
            if (this.lblTip.Left >= this.Width)
            {
                lblTip.Left = 0;
            }
            lblTip.Left += 1;
        }
    }
}

请截图的实验效果:

 

三、实验要求 

1.预习试验内容并写出上机报告。

2.记录实验中疑难点及实验体会。

总结:(1)要合理利用程序的各种窗口控件实现功能。

(2)窗体控件的Name名要相互对应,否则程序会报错

  1. 各个控件对应的代码不能直接复制到总代码区,必须从窗体双击进入编写代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端学习-html基础

html学习与总结 一、基础认知 1.1.1 认识网页(了解) ➢ 问题1:网页由哪些部分组成? ✓ 文字、图片、音频、视频、超链接 ➢ 问题2:我们看到的网页背后本质是什么? ✓ 前端程序员写的代码 ➢ 问题3&a…

设计模式的几大原则

设计模式原则 前言一.单一职责原则1.1 定义1.2 例子1.3 总结 二.里氏替换原则2.1 定义1.2 例子1.3 总结 三.依赖倒置原则3.1 定义3.2例子3.3总结 四.接口隔离原则4.1 定义4.2 例子4.3 总结五.迪米特法则5.1 定义5.2 例子5.3 总结 六.开闭原则6.1 定义6.2 例子6.3 结论 前言 设…

MongoDB复制(副本)集实战及其原理分析-04

MongoDB复制集 复制集架构 在生产环境中,不建议使用单机版的MongoDB服务器。 原因如下: 单机版的MongoDB无法保证可靠性,一旦进程发生故障或是服务器宕机,业务 将直接不可用。 一旦服务器上的磁盘损坏,数据会直接丢…

UDS系列-31服务(Routine Control)

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍例程控制服务RoutineControl,该服务的目的是Client端使用Routine Control服务来执行定义的步骤序列并获取特定序列的相关结果。这个服务经常在EOL、Bootloader中使用,比如,检查刷写条件是否满足、擦除内存、覆盖正…

post接口请求测试,通俗易懂

目录 前言: GET方法和POST方法传递数据的异同 POST方法如何传递数据 接口测试软件简介 POST请求接口的测试 测试方法 3.保存接口测试用例,生成自动化测试套件 总结 前言: Post请求是HTTP中请求方法之一,用于向服务器提交…

AI 绘画(2):Ai模型训练,Embedding模型,实现“人物模型“自由

文章目录 文章回顾感谢人员题外话Ai绘画公约Ai模型训练硬件要求显存设置查看显存大小显存过小解决方法 视频教程前期准备SD配置设置SD设置配置SD训练配置pt生成训练集收集训练集要求截图软件推荐训练集版权声明一键重命名图片训练图片来源批量修改图片尺寸 开始训练导入训练集&…

MQTTX的使用

1.MQTT介绍 MQTT是一种常用的物联网协议。MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅通信协议,用于在物联网(IoT)和机器对机器(M2M)通信中传输消息。 MQTT协议被设计用…

013.【排序算法】合并排序法

1. 合并排序法 合并排序法是针对已经排序好的两个或两个以上的数列,通过合并的方式,将其组合成一个大的且排序好的数列。首先是将无序的数列分成若干小份,分若干份的规则就是不断把每段长度除以2(对半分),…

Jmeter断言详细使用教程

目录 前言: 断言介绍与使用 响应断言 断言持续时间 XML断言 1、响应断言 2、JSON Assertion 3、Size Assertion(见图知意) 4、JSR223 Assertion JSR223 Assertion实例: 5、XPath Assertion 6、Compare Assertion 7、断言持续时间…

如何获得忠诚的铁粉

目录 1.选择热门主题 2.提供独特观点(原创精神) 3.写作风格(目录定位分点总结) 4.提供有价值的内容 5.总结: 📢导语:赢得铁粉(粉丝)的支持对于一个作者来说至关重要。…

前端Vue加载中页面动画弹跳动画loading

前端Vue加载中页面动画弹跳动画loading&#xff0c; 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id13091 效果图如下&#xff1a; #### 使用方法 使用方法 <!-- ref:唯一ref top&#xff1a;距离中间顶部距离 --> <cc-loading ref&…

Postman大势已去,Apifox的时代已到来

目录 前言&#xff1a; 前情简介&#xff1a;亲身经历节选 Code: 403 “将我踢飞” 浓眉大眼的 Swagger 把我欺骗 工作提效的版本答案 为什么是Apifox 贴心为你 写在最后 前言&#xff1a; Apifox是一款基于web的API设计工具&#xff0c;提供了简洁明了的界面和丰富的…

Debezium系列之:Outbox Event Router

Debezium系列之&#xff1a;Outbox Event Router 一、认识Outbox Event Router二、使用发件箱模式进行可靠的微服务数据交换三、双写问题四、发件箱模式五、基于变更数据捕获的实现六、发件箱表七、发送事件到发件箱八、注册 Debezium 连接器九、主题路由十、Apache Kafka 中的…

交叉编译libcurl libosip libeXosip(包含openssl)

交叉编译libcurl ./configure --with-ssl/home/zx/zxapp/openssl-1.1.0l/output --without-zlib --enable-shared --enable-static --hostarm-linux-gnueabihf CCarm-linux-gnueabihf-gcc --prefix$PWD/build 交叉编译openssl ./config no-asm shared -fPIC --prefix/home/…

ColorUI 全网最全使用文档(建议收藏)

Color UI 我想大家都知晓吧&#xff0c;我就不过多阐述了&#xff0c;是 文晓港 大佬开发的一款适应于H5、微信小程序、安卓、ios、支付宝的高颜值&#xff0c;高度自定义的 Css 组件库.&#xff0c;属于出道即巅峰的史诗级大作&#xff0c;众所周知&#xff0c;万物皆可 Color…

【CEEMDAN-CNN-LSTM】完备集合经验模态分解-卷积神经长短时记忆神经网络研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【雕爷学编程】Arduino动手做(115)---HB100多普勒雷达模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

思科交换机与路由器基础命令(二)

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、静态路由与默认路由配置命令 1、静态路由 2、默认路由 3、查看路由表 三、使用ping命令测试连通性 1、排除物理故障&#xff…

Revit AVF纹理UV处理

这一周结束得太快了……在我们进入周末之前&#xff0c;这里有一些引人注目的话题&#xff1a; 使用 AVF 解释纹理 UV 映射人体细胞的详细 3D 模型 推荐&#xff1a;用 NSDT设计器 快速搭建可编程3D场景。 1、使用 AVF 解释纹理 UV 映射 不久前在 Revit API 讨论论坛中提出了…

发现一个高颜值流程图 - 亿图图示

今天给各位小伙伴们测试了一款高颜值的流程图制作工具——亿图图示。 对了&#xff0c;它不仅可以制作流程图&#xff0c;还可以制作思维导图、组织结构图、泳道图等等哦。接下来让我们一起测试学习下吧 一、简单介绍 亿图图示&#xff08;Wondershare EdrawMax&#xff09;是…