实验三 Windows窗体的设计及常用控件(1)

这篇具有很好参考价值的文章主要介绍了实验三 Windows窗体的设计及常用控件(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言
👏作者简介:我是笑霸final,一名热爱技术的在校学生。
📝个人主页:个人主页1 || 笑霸final的主页2
📕系列专栏:《作业专栏》
📧如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥如果感觉博主的文章还不错的话,👍点赞👍 + 👀关注👀 + 🤏收藏🤏

实验三 Windows窗体的设计及常用控件(1)

一、实验目的

1.掌握窗体应用程序的创建及其构成。
2.掌握控件的添加、控件的布局调整以及属性的设置。
3.掌握命令按钮、文本框、标签控件、单选按钮、复选框的使用。
4.掌握消息对话框的使用。

二、实验任务

第一题

1.创建Windows窗体应用程序,设计一个用户登录窗口,如图3.1所示,要求输入用户名和密码(设用户名为admin,密码为123),输入正确后利用消息框显示如图3.2所示欢迎信息“登录成功,欢迎使用本系统”,点击消息框中“确定”按钮后,打开另一个窗体,如图3.3所示;输入不正确显示如图3.4所示消息框,若错误3次则程序结束。
要求:
(1)用户名或密码均不能为空,否则显示消息框如图3.5所示。
(2) 除了点击“登录”按钮实现登录验证外,当在密码文本框中输入密码后直接按Enter键也能实现登录效果。
实验三 Windows窗体的设计及常用控件(1)
实验三 Windows窗体的设计及常用控件(1)

源代码:

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 Experiment_3
{
    public partial class Form1 : Form
    {
        int RrrorCount = 0;//用来统计 密码和用户名输入错误的次数
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            
        }
        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.Enter)
            {
                textBox1.Focus(); //当在文本框1中检查到回车键时,直接将焦点转入TextBox2
            }
        }
         


        private void button1_Click(object sender, EventArgs e)
        {
            String user=textBox1.Text;
            String password =textBox2.Text;
            if(user.Equals("")|| password.Equals(""))
            {//当密码和用户名为空时(必须同时都有值才不会进入此判断)
                MessageBox.Show("密码和用户名均不能为空", "登陆", MessageBoxButtons.OK);
            }else if("admin".Equals(user)&& int.Parse(password) == 123)
            {
                //密码和用户名匹配成功时
                MessageBox.Show("登陆成功,欢迎使用本系统", "登陆", MessageBoxButtons.OK);
                Form f2 = new Form2();//创建第二个窗口实例
                f2.Show();//打开第二个窗口
            }
            else if(!"admin".Equals(user) || ! (int.Parse(password) == 123))
            {
                MessageBox.Show("用户名或者密码错误,请重新输入", "登陆", MessageBoxButtons.OK);
                RrrorCount++;
                textBox1.Clear();//清除输入内容
                textBox2.Clear();//清除输入内容
                if (RrrorCount >= 3)
                {//说明已经输入错误三次了程序结束
                    this.Close();
                    return;
                }
            }
        }

       
    }
}

运行结果
实验三 Windows窗体的设计及常用控件(1)

第二题

2.创建Windows窗体应用程序,利用文本框、单选按钮、分组控件、复选框设计界面,如图3.6所示,实现根据选择控件的单击实现实时改变文本框中文字显示效果的功能。实验三 Windows窗体的设计及常用控件(1)

源代码

using System;
using System.Drawing;
using System.Windows.Forms;

namespace Experiment_3_2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void radioButton1_Click(object sender, EventArgs e)
        {
            //几个按钮绑定得共享事件
            RadioButton btn =(RadioButton)sender;
            if (btn.Text.Equals("宋体"))
            {
                //设置宋体 其他不变 下面得else if 同理
                richTextBox1.Font=
                    new Font("宋体", richTextBox1.Font.Size, richTextBox1.Font.Style);
               
            }
            else if (btn.Text.Equals("黑体"))
            {
                richTextBox1.Font =
                   new Font("黑体", richTextBox1.Font.Size, richTextBox1.Font.Style);
            }
            else if (btn.Text.Equals("楷体"))
            {
                richTextBox1.Font =
                   new Font("楷体", richTextBox1.Font.Size, richTextBox1.Font.Style);
            }
            else if (btn.Text.Equals("隶书"))
            {
                richTextBox1.Font =
                   new Font("隶书", richTextBox1.Font.Size, richTextBox1.Font.Style);
            }


        }

        private void radioButton5_Click(object sender, EventArgs e)
        {
            //几个按钮绑定得共享事件

            RadioButton btn = (RadioButton)sender;
//设置字体大小 其他不变 下面得else if 同理

            if (btn.Text.Equals("10"))
            {
                richTextBox1.Font =
                    new Font(richTextBox1.Font.FontFamily,10, richTextBox1.Font.Style);

            }
            else if (btn.Text.Equals("15"))
            {
                richTextBox1.Font =
                   new Font(richTextBox1.Font.FontFamily, 15, richTextBox1.Font.Style);

            }
            else if (btn.Text.Equals("20"))
            {
                richTextBox1.Font =
                   new Font(richTextBox1.Font.FontFamily, 20, richTextBox1.Font.Style);

            }
            else if (btn.Text.Equals("25"))
            {
                richTextBox1.Font =
                   new Font(richTextBox1.Font.FontFamily, 25, richTextBox1.Font.Style);

            }

        }

        private void radioButton5_CheckedChanged(object sender, EventArgs e)
        {

        }

        

        private void Form1_Activated(object sender, EventArgs e)
        {

        }

        private void Form1_Click(object sender, EventArgs e)
        {
            
        }

        private void checkBox1_Click(object sender, EventArgs e)
        {
            if (this.checkBox1.Checked)
            {//当 粗体被选中时
                richTextBox1.Font =
                   new Font(richTextBox1.Font.FontFamily, richTextBox1.Font.Size, FontStyle.Bold);
               
            }
            else
            {//当 粗体未被选中时
                richTextBox1.Font =
                   new Font(richTextBox1.Font.FontFamily, richTextBox1.Font.Size, FontStyle.Regular);

                
            }
        }
    }
}

运行结果

第三题

3.创建Windows窗体应用程序,实现“上网问卷调查”,调查内容有:年龄,每天平均上网时间,上网主要做什么,如图3.7所示。当回答完问题,点击“确定”按钮后,弹出“调查结果”消息框,显示用户的选择,如图3.8所示。实验三 Windows窗体的设计及常用控件(1)

using System;
using System.Windows.Forms;

namespace Experiment_3_3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //创建一些初始化得提示字符串
            string myAge = "你的年龄为:";
            string myTime = "你的上网时间为:";
            string myDo = "你上网主要是:";

            //选择年龄
            if (age1.Checked)//10岁被选中时
            {
                myAge += age1.Text ;
            }
            else if (age2.Checked)//11-17岁被选中
            {
                myAge += age2.Text;
            }
            else if (age3.Checked)//18-40岁被选中
            {
                myAge += age3.Text ;
            }
            else if (age4.Checked)
            {
                myAge +=  age4.Text ;
            }
            else
            {
                myAge += "未选择年龄" ;
            }

            //选择上网时间
            if (time1.Checked)//小于1小时
            {
                myTime += time1.Text ;
            }
            else if (time1.Checked)//1-2小时
            {
                myTime += time2.Text ;
            }
            else if (time3.Checked)//1-3小时
            {
                myTime += time3.Text ;
            }
            else if (time4.Checked)//4小时以上
            {
                myTime += time4.Text ;
            } else
            {
                myTime += "未选择上网时长";
            }

            //上网干啥
            if (checkBox1.Checked)//浏览咨询
            {
                myDo += "浏览咨询、";
            }
            if (checkBox2.Checked)//聊天
            {
                myDo += "聊天、";
            }
            if (checkBox3.Checked)//购物
            {
                myDo += "购物、";
            }
            if (checkBox4.Checked)//看视频
            {
                myDo += "看视频、";
            }
            if (checkBox5.Checked)//收发邮件
            {
                myDo += "收发邮件、";
            }
            if (checkBox6.Checked)
            {
                myDo += "其他、";
            }
            myDo=myDo.Remove(myDo.Length-1, 1);//移除多余得、号
            myDo += "。";//添加句号
            MessageBox.Show(myAge + "\n" + myTime + "\n" + myDo,"调查结果");
        }
    }
}

运行结果
实验三 Windows窗体的设计及常用控件(1)

第四题

4.创建Windows窗体应用程序,完成若干加法计算,初始界面如图3.9所示,加数和被加数均为二位数,程序运行时显示第一道题目,输入答案,点击“确定”按钮后,在标签上显示算式并进行是否正确的判断,同时显示下一道题目,完成若干计算后,单击“结束”按钮后,显示“共完成X题,正确:X,错误:X,得分:X”的信息,如图3.10所示。
提示:点击“确定”后显示算式的标签和点击“结束”后显示最终评价的标签使用二个标签。实验三 Windows窗体的设计及常用控件(1)

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;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;

namespace Experiment_3_4
{
    public partial class Form1 : Form
    {
        Random ramdom = new Random();//创建随机数对象
        int in1, in2;//随机两数
        int correct=0, error=0;

        private void button1_Click(object sender, EventArgs e)
        {


            //点击确定时

            try
            {
                if (int.Parse(textBox1.Text) == in1 + in2)
                {
                    //正确时
                    correct++;
                    output1.Text += in1 + "+" + in2 + "=" + textBox1.Text + "✔" + '\n';

                }
                else
                {
                    //错误时
                    error++;
                    output1.Text += in1 + "+" + in2 + "=" + textBox1.Text + "✖" + '\n';
                }
            }
            catch(Exception ee)
            {//发生异常
                MessageBox.Show("请输入数字");
                textBox1.Text = "";
                
            }
            
            //输入框清空
            textBox1.Text = "";
            textBox1.Focus();//textBox1重新获取 焦点
            output1.Visible = true;
            //更新数据
            Form1_Activated(null,null);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //结束按钮
            double score = correct*1.0 / (correct + error)*100;
            //显示数据
            output2.Text = "一共完成" + (correct + error)
               + "题" + ",正确" + correct + "题" + ",错误" + error + "题," +
               "得分:" + score.ToString("f2") + "分";
            output2.Visible = true;
        }


        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Activated(object sender, EventArgs e)
        {
            //窗口激活时发生的时间
            in1 = ramdom.Next(10,100);
            in2 = ramdom.Next(10, 100);
            input1.Text = in1.ToString();
            input2.Text = in2.ToString();
        }
    }
}

运行结果
实验三 Windows窗体的设计及常用控件(1)
实验三 Windows窗体的设计及常用控件(1)文章来源地址https://www.toymoban.com/news/detail-448669.html

到了这里,关于实验三 Windows窗体的设计及常用控件(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件

    JS-DLL-WINCC-PLC之间进行 交互 ,思路, 先用 Visual Studio创建一个C#的DLL控件, 然后 这个控件里面嵌入浏览器组件,实现JS与DLL通信, 然后 DLL放入到WINCC里面的图形编辑器中,实现DLL与WINCC的通信。 然后 PLC与WINCC之间进行连接,实现WINCC与PLC之间连接, 最后 自己封装方法把他们

    2024年02月05日
    浏览(32)
  • 常用界面设计组件 —— 窗体(QT)

    组件是GUI的基本元素,也称为UI控件。它接受来自底层平台的不同用户事件,如鼠标和键盘事件(以及其它事件)。所有组件都继承自QObject。QWidget是一个基本的组件,是所有UI组件的基类。它描述组件所需要的大多数属性,包括几何图形、颜色、键盘行为、工具提示等属性。

    2024年01月20日
    浏览(41)
  • C#Windows窗体设计之ContextMenuStrip(鼠标右击菜单)的用法

    摘要:Winform开发进阶之ContextMenuStrip,以自身开发经验讲解ContextMenuStrip的具体用法。 编程语言:C# 编程环境:Visual Studio 2019         有没有人跟小编一样,想给控件加入鼠标右击菜单,但点到属性框发现......         Oh我的天,这居然是无,那到底要怎样添加鼠标右击

    2024年02月09日
    浏览(42)
  • 安卓实验1 界面设计:控件和布局

    实验题目:界面设计:控件和布局 实验目的 1了解Android编程原理 2掌握基本布局管理器、控件的应用 3掌握控件的事件处理编程 实验内容 编写一个小费计算器,界面如下。在Amount框中输入就餐费用,在15%标准小费率列下将按15%计算小费(Tip)的金额和应付总金额(Total),在

    2024年02月06日
    浏览(37)
  • C# 添加现有的窗体的时候,为何窗体的控件不显示了?

    有的项目中一些功能是可以复用的,将原始项目中的窗体文件添加到新项目时,发现有一些问题。添加完之后,打开的窗体发现没有显示任何控件,窗体的大小还变小了? 将Form1.cs Form1.resx Form1.Designer 三个文件直接复制到新项目的目录下,然后直接在新项目上选择添加现有项

    2024年02月10日
    浏览(43)
  • C# 跨线程访问窗体控件

    在不加任何修饰的情况下,C# 默认不允许跨线程访问控件,实际在项目开发过程中,经常使用跨线程操作控件属性,需要设置相关属性才能正确使用,两种方法设置如下: 方法1:告诉编译器取消跨线程访问检查,在窗体构造函数中编写,如下图所示: 方法2:设置所需的控件

    2024年02月11日
    浏览(54)
  • Winform中实现窗体控件适配(自适应窗体)布局_通过C#代码方式

    即:未启用控件缩放效果代码时,控件内容都是固定在窗体界面的指定位置,不会跟随窗体的拉伸,放大而进行适配,如下图所示: 即:启用控件缩放效果代码时,控件内容会跟随窗体的拉伸,放大而进行适配,如下图所示: 实现思路是: ①在窗体初始化时先获取窗体的宽

    2023年04月17日
    浏览(44)
  • C# 给winfrom窗体添加皮肤控件

    如何快速给C# winform添加好看的皮肤C# Winform中窗体的美化 SkinEngine的应用 皮肤控件换肤素材包,IrisSkin2.dll皮肤素材资源下载  压缩包内一共有22种皮肤素材,使用说明:把控件拖到你的form上,只需一行代码,即可实现整个form包括其所有控件的皮肤的更换,  总共有几十套皮肤

    2024年02月05日
    浏览(46)
  • ACCESS中如何在窗体内插入下拉列表框控件?

    在 ACCESS 中,可以通过以下步骤在窗体内插入下拉列表框控件: 在窗体设计视图下,打开“工具箱”窗口。 在工具箱中找到“下拉列表框”控件。 将“下拉列表框”控件拖放到窗体上。 双击插入的下拉列表框,在“数据”选项卡中设置下拉列表框的数据源。 在“事件”选项

    2024年02月06日
    浏览(37)
  • C# winform usercontrol控件跟随主窗体实现自动大小

    usercontrol控件跟随主窗体实现自动大小 今天是跟着哗哩哗哩大学学习C的第N天,但是是学习usercontrol的第一天。 第一天遇到的问题就是如何将usercontrol的大小跟随主窗体的一起变大变小。视频中教得很详细,首先是将usercontrol控件实例化,接着就是设置usercontrol的dock属性为fil

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包