C#入门:编写运行第一个Windows窗体应用程序Helloworld_WinForm

news2024/11/23 18:39:36

下载及安装Visual Studio的链接,具体见C#入门:编写运行第一个C#程序Helloworld

目录

    • 下载.NET桌面开发组件
    • 创建新项目
    • 添加控件
    • 编辑程序
    • 运行查看效果
    • 补充

下载.NET桌面开发组件

Visual Studio中需下载安装.NET桌面开发组件。
在这里插入图片描述

创建新项目

创建项目,命名为Helloworld_WinForm。
在这里插入图片描述
创建后将Form1.cs右键重命名为Helloworld.cs。
在这里插入图片描述
主窗口有一个自动生成的窗体Form1,可在属性中修改名称为Hello World。属性打开方式如下图。
在这里插入图片描述
若左侧没有工具箱选项卡,则在视图中将其打开:
在这里插入图片描述

添加控件

在工具箱的所有Windows窗体中,有许多控件。

  • 找到Button双击或拖拽到窗体中,在属性栏中Text为“确认”。Name为button1。

  • 找到Label双击或拖拽到窗体中,在属性栏中修改Text为“请输入你的姓名:“,修改字体Font。
    在这里插入图片描述

  • 找到textBox双击或拖拽到窗体中,用于提供用户输入接口。Name改为Input_name。

  • 再添加一个Label,修改Text为”Hello“。Name改为Output_name。

通过鼠标可修改窗体大小、控件大小及位置,效果如下:
在这里插入图片描述

编辑程序

双击控件可以打开对应程序,修改后全部程序如下。
实现了在文本框输入姓名后,点击确认,下方显示Hello! 姓名!
若输入为空,则显示输入为空,请重新输入!

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 Helloworld_WinForm
{
    public partial class Helloworld : Form
    {
        public Helloworld()
        {
            InitializeComponent();
        }

        private void Helloworld_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (Input_name.Text.Trim().Length > 0)
            {
                Output_name.Text = "Hello! " + Input_name.Text + "!";
            }
            else
            {
                Output_name.Text = "输入为空,请重新输入!";
            }
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

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

运行查看效果

点击菜单栏的启动按钮运行,窗口自动弹出。

输入姓名Selina,点击确认,效果如下:
在这里插入图片描述

输入为空,点击确认,效果如下:
在这里插入图片描述
自此完成了第一个Windows窗体应用程序。

补充

点击确认按钮后,输入框若想自动清空,可以这样写:

        private void button1_Click(object sender, EventArgs e)
        {
            if (Input_name.Text.Trim().Length > 0)
            {
                Output_name.Text = "Hello! " + Input_name.Text + "!";
                Input_name.Clear(); // 清空输入框
            }
            else
            {
                Output_name.Text = "输入为空,请重新输入!";
                Input_name.Clear(); // 清空输入框
            }
        }

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

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

相关文章

【2】Jmeter获取token,模拟多用户并发及token存储文本文件

按以下步骤来,以下各种处理程序的放置位置很重要!!不然会出现各种问题: 1、setup线程组 前置获取token的接口(login,以下都用login表示获取token接口)请求,获取类似token等后续需要…

10 个对 Android 开发者有用的 Kotlin 扩展函数 #2

10 个对 Android 开发者有用的 Kotlin 扩展函数 #2 通过出色的 Kotlin 扩展提高您的工作效率 EditText 通过EditText的“text”属性,您可以快速获取EditText中的文本。但是,这个文本是“可编辑”的,因此每次都需要将其转换为字符串才能获…

前端食堂技术周刊第 83 期:TS 5.1 RC、Nuxt 3.5、INP、Knip、管理 GitHub 通知、WebXR

By Midjournery 美味值:🌟🌟🌟🌟🌟 口味:杏花乌龙拿铁 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 本期摘要 TypeScript 5.1 RCNuxt 3.5INP 将成为新的 Core Web…

SSM 如何使用 Seata 框架实现分布式事务?

SSM 如何使用 Seata 框架实现分布式事务? 分布式事务是现代分布式系统中必不可少的一部分,而 Seata 框架是一种常用的分布式事务处理方式。在 SSM 框架中,我们可以使用 Seata 框架来管理分布式事务。本文将介绍如何在 SSM 框架中使用 Seata …

好用工具第2期:手机电脑传文件LocalSend

1. 概要 LocalSend 是一个跨平台的 AirDrop替工具软件。 适用于手机电脑之间的数据文件传输,不需要互联网连接或第三方服务器,是局域网本地通信的快速可靠解决方案。 LocalSend 是一个开源项目, 项目地址是: https://github.com/localsend/localsend …

webpack简单的搭建和使用

随便创建一个空的文件夹,例如说:explore 然后我们测试一下我们的node是否存在 可以正确打印出版本 我们再次输入:npm init -y 创建一个package.json文件 出现这样的情况就成功了 然后我们要安装webpack在终端上输入命令: npm i …

辅助生成: 低延迟文本生成的新方向

大型语言模型如今风靡一时,许多公司投入大量资源来扩展它们规模并解锁新功能。然而,作为注意力持续时间不断缩短的人类,我们并不喜欢大模型缓慢的响应时间。由于延迟对于良好的用户体验至关重要,人们通常使用较小的模型来完成任务…

Kotlin SOLID 原则

Kotlin SOLID 原则 许多 Kotlin 开发者并不完全了解 SOLID 原理,即使他们知道,他们也不知道为什么要使用它。您准备好了解所有细节了吗? 介绍 亲爱的 Kotlin 爱好者,您好!欢迎来到我的新文章。今天我要讲的是 Kotli…

Qt编程基础 | 第六章-窗体 | 6.2、VS导入资源文件

一、VS导入资源文件 1.1、导入资源文件 步骤一: 将所有图片放到各自文件夹下,并将文件夹拷贝到资源文件(.qrc文件)的同级目录下,如下: 步骤二: 新建VS项目的时候,系统会自动建好一…

如何在华为OD机试中获得满分?Java实现【最差产品奖】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

NetApp AFF C 系列——可持续、可扩展且安全可靠的全闪存解决方案

NetApp AFF C 系列 采用全新的闪存技术,同时辅以智能科技加持,将为您带来一个更为经济实惠的全闪存解决方案,它重新定义了安全性、可扩展性和可持续性。 为什么选择 AFF C 系列的新一代全闪存解决方案? 实现现代化,打…

chatgpt+mj+did生成会说话的头像

chatgptmjdid生成会说话的头像 当我们有了 ChatGPT 生成的内容,有了 stable-diffusion、midjourney 或者 dalle2 生成的人像,如果还能让人像动起来,替我们朗诵或者播报一下 ChatGPT 的内容,不就是一个数字人了么? D-…

2023年 微信生态催生就业收入机会超5000万个

文章目录 微信生态催生就业收入机会超5000万个原因相关情况总结 结语 微信生态催生就业收入机会超5000万个 ​ 近年来,随着移动互联网的普及和发展,微信作为国内最大的社交平台之一,已经成为人们日常生活中必不可少的工具。同时,…

嘉立创EDA专业版网络规则设置

在“设计规则”中的“规则管理”界面将PCB的各个设计规则如线宽规则、差分规则、过孔规则等设置完成之后,就需要将PCB中每个网络所对应的规则进行驱动,那么就可以设置“网络规则”。在“网络规则”中可以对当前PCB内的所有网络进行规则分配,继…

数字图像处理 基于傅里叶变换的图像拼接

一、简述 这里讨论的算法主要是指应用于基于相机拍摄的显微镜的2D图像的拼接。基于2D显微图像的拼接通常只考虑x、y方向的位移。 图像拼接在图像处理中应用广泛。特别是对高分辨率标本成像的需求日益增加。通常,这些标本不适合显微镜的视野。为了克服这一缺点,使用移动样品的…

泡泡玛特发布首支生态公益微纪录片 潮玩IP助力生物多样性保护

5月22日国际生物多样性日,泡泡玛特联合中国环境发布了首支生态公益微纪录片,通过潮玩艺术家AYAN和野生动物保护者初雯雯两个年轻人的故事,用一种全新的方式,唤起年轻人对动物保护和环境保护的关注。 AYAN的DIMOO与蒙新河狸 对于潮…

m1下git的客户端工具及idea配置

背景:换了m2以后,好多软件都不兼容,然后同步代码的事情就一直搁置了,今天记录一下如何用客户端工具同步代码和idea中配置远程仓库 第一步:下载github desktop,有针对m1芯片的,填写上你github的…

Java并发体系-锁与同步-[2]

可见性设计的硬件 从硬件的级别来考虑一下可见性的问题 **1、第一个可见性的场景:**每个处理器都有自己的寄存器(register),所以多个处理器各自运行一个线程的时候,可能导致某个变量给放到寄存器里去,接着…

【Java多线程案例】使用阻塞队列实现生产者消费者模型

前言 本篇文章讲解多线程案例之阻塞队列。主要讲解阻塞队列的特性、实际开发中常用的到的生产者消费者模型,以及生产者消费者模型解耦合、削峰填谷的好处。并且使用 Java 多线程模拟实现一个生产者消费者模型、阻塞队列版的生产者消费者模型。 文章从什么是阻塞队列…

12道c语言的课后习题!

1、计算n的阶乘&#xff08;1*2*3*4*5 n是个数&#xff0c;比如说乘到100&#xff1f;&#xff09; // 计算n的阶乘#include"stdio.h"int main() {int n 0;scanf("%d", &n);int i 0;int ret 1;for (i 1; i < n; i) {ret * i;}printf("…