C#开发Windouw窗体之Form窗体及示例(基础)

2023-05-16

Forms窗体也称为窗口,通过窗体可以显示信息、请求用户输入以及通过网络与远程计算机通信。

我们首先要明白三点:

1.窗体也是对象,窗体类定义了生成窗体的模板,每当实例化一个窗体类,就产生一个窗体

2.Form类是所有窗体类的基类。

3.在一个项目中,每个窗体都有自己的Form.cs代码,但所有窗体只有一个启动窗体,核心便是Program.cs文件里的Main()函数作为程序的主入口点。

下面我将通过Visual Studio2017展示窗体的相关操作:

如何创建、添加Forms窗体项目

 与平常创建的控制台应用不同,Forms窗体需要创建Windows窗体应用

一个窗体有时不能很好的满足我们的需求,这时可以添加一个新窗体:

 新建n个窗体后,即变成了多窗体,这时如果要调试程序,就必须要设置先运行的窗体了。

Run()方法用于在当前线程上运行标准应用程序,并指定窗口可见。

通常新建项目后会默认Form1窗体设置为项目的启动窗体,可根据需要修改。

Application.Run(new Form1());

窗体的属性

在进入“Form1.cs[设计]”页面后,右键窗体即可调出属性栏,从而修改一些必要的属性。例如(以下为较为常用属性):

Icon属性:用于修改窗体的图标。

StartPosition属性:设置加载窗体时窗体在显示器中的位置。(它有5个属性值:1.CenterParent,窗体在其父窗体中居中。2.CenterScreen,窗体在当前显示窗口居中。3.Manual,窗体的位置由Location属性决定。4.WindowsDefaultBounds,窗体在windows默认位置,边界由系统默认。5.WindowsDefaultLocation,窗体在windows默认位置,尺寸在窗体大小中指定)

BackgroundImage属性:用来获取或设置窗体的背景图像。

Name属性:用来获取或设置窗体的名称。

Text属性:该属性是一个字符串属性,用来设置窗口标题栏中显示的文字。

WindowState属性:用来获取或设置窗体的窗口状态。(默认normal,可以选择最大化/最小化显示)

Font属性:用来获取或设置控件显示的文本的字体。

Width属性:用来获取或设置窗体的宽度。

Heigth属性:用来获取或设置窗体的高度。

Left属性:用来获取或设置窗体的左边缘的 x 坐标(以像素为单位)。

Top属性:用来获取或设置窗体的上边缘的 y 坐标(以像素为单位)。

BackColor属性:用来获取或设置窗体的背景色。

BackgroundImage属性:用来获取或设置窗体的背景图像。

Enabled属性:用来获取或设置一个值,该值指示控件是否可以对用户交互作出响应。

窗体的常用方法

PS:绝大多数窗体的方法调用都是:窗体名.方法名();

Show方法:该方法的作用是让窗体显示出来,其调用格式为:窗体名.Show();

——  其中窗体名是要显示的窗体名称。

Hide方法:该方法的作用是把窗体隐藏出来,其调用格式为:窗体名.Hide();

——  其中窗体名是要隐藏的窗体名称。

Close方法:该方法的作用是关闭窗体。其调用格式为:窗体名.Close();

——  其中窗体名是要关闭的窗体名称。

 Refresh方法:该方法的作用是刷新并重画窗体,其调用格式为:窗体名.Refresh();

——  其中窗体名是要刷新的窗体名称。

Activate方法:该方法的作用是激活窗体并给予它焦点。其调用格式为:窗体名.Activate();

——  其中窗体名是要激活的窗体名称。

ShowDialog方法:该方法的作用是将窗体显示为模式对话框。其调用格式为:窗体名.ShowDialog();

——  和Show的区别,Show允许后台运行,而ShowDialog不允许;

窗体的常用事件

Load事件:该事件在窗体加载到内存时发生,即在第一次显示窗体前发生。

Click事件:该事件在用户单击窗体时发生。

DoubleClick事件:该事件在用户双击窗体时发生。

FormClosing事件:该事件在关闭窗体时发生。

程序开发小练习:

比如说我们尝试开发一个简易程序,需要将字符串中的每个字符颠倒输出。

1.创建Windows窗体应用

2.分别打开Program.cs、Form1.cs、Form1.cs[设计]、Form1.Designer.cs四个文件熟悉布局。

实际上,这个练习只需要用到 “Form1.cs[设计]” 文件,用以布局程序的窗口美化,标签,获取、输出字符串的文本框以及开始计算按钮;另外在“开始计算”按钮的绑定事件里加上几行逻辑代码就行(代码加在Form1.cs中,这是这个窗体对象本身的代码,所以在右键程序空白处便能进入其代码编辑)。

3.熟悉窗体控件的工具箱,里面包含了几乎窗口开发所有的工具(可在视图中调出),包含我们后续需要用到的标签,获取、输出字符串的文本框以及开始计算按钮工具。

 具体操作。首先用前面的所学知识通过属性美化程序框,然后

1.把工具箱中的Lable工具拖入程序界面,通过右键修改属性把它的Text修改为“原字符串”,美化后复制一份并修改Text为“新字符串”;

2.把工具箱中的TextBox工具拖入程序界面,同样修改属性调整大小和Font字体(尤为重要),调整好后同样复制份分别放在“原字符串”“新字符串”文本后面;

3.把工具箱中的Button工具拖入程序界面,同样修改属性调整大小即Text值为“开始计算”

 4.双击程序或右键程序进入Form1.cs文件编写代码,因为我们需要在按下“开始计算”后计算,所以我们的代码都写在这个按钮的绑定事件中。

        private void button1_Click(object sender, EventArgs e)
        {
            string a = textBox1.Text.Trim();
            char[] numA = a.ToCharArray();
            Array.Reverse(numA);
            string b = new string(numA);
            textBox2.Text = b;
        }

保存好后运行调试即可在窗口内测试

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#开发Windouw窗体之Form窗体及示例(基础) 的相关文章

  • anaconda释放空间

    学习内容 xff1a conda clean 后面可以跟很多超参 xff0c 不同超参有不同的功能 xff1a 可选参数 xff1a span class token operator span h span class token ope
  • Qt线程:QThread

    一 描述 一个QThread对象管理程序内的一个线程 xff0c QThreads在run 中开始执行 默认情况下 xff0c run 通过调用exec 启动事件循环 xff0c 并在线程内部运行一个Qt事件循环 可以通过使用 QObjec
  • 论文精讲 | CVPR 2022|RHFL-对抗噪声的联邦学习

    模型异构的联邦学习 xff0c 是一种每个client拥有互不相同模型的联邦学习任务 xff0c 其能够解决联邦学习中每个成员希望独立设计自己模型的需求 xff0c 但目前同样面临着来自数据层面和成员层面的各种挑战 xff0c 比如数据标记
  • Android音频简介

    1 基本概念 1 1 播放模式 xff1a Deep buffer playback Android开发中最常用的播放模式 xff0c 音乐等对时延要求不高的声音输出采用该模式 边加载边播放 xff0c 由AP进行解码 Low latenc
  • vnc显示远程桌面

    搜了很多教程 xff0c 大部分都试了还是不能正常显示Ubuntu18 04的桌面 xff0c 最后找到了一篇文章 xff1a 使用 VNC 显示 Ubuntu Server 的图形化界面 可以让我的vnc正常显示的配置 首先 在服务器终端
  • 面试中常被提到的最左前缀匹配原则

    最左前缀匹配原则 xff1a 在MySQL建立联合索引时会遵守最左前缀匹配原则 xff0c 即最左优先 xff0c 在检索数据时从联合索引的最左边开始匹配 要想理解联合索引的最左匹配原则 xff0c 先来理解下索引的底层原理 索引的底层是一
  • njupt 字典序最大的出栈序列

    题意 xff1a 给出入栈序列 A xff0c 保证 A 各个元素值各不相等 xff0c 输出字典序最大的出栈序列 如入栈序列 A 61 1 2 9 4 6 5 则字典序最大的出栈序列为9 6 5 4 2 1 栈的性质就是先进后出 xff0
  • SD-WAN设备白盒刷机

    1 启动U盘插入盒子USB接口 2 PC与盒子通过串口线连接 xff0c 波特率为115200 3 加电 4 WAN接口接入网络 xff0c 保证可以访问外网 5 cd var 6 scp 64 122 96 93 166 root Fle
  • Android手机控制ZigBee板上LED

    环境 xff1a Windows 编译器 xff1a IAREW8051 8 1 硬件 xff1a CC2530 协议栈 xff1a ZStack CC2530 2 3 0 1 4 0 手机 xff1a Android4 1 2 又重新开始
  • Windows 10 WSL2 安装Linux Xfce图形界面

    一 更新ubuntu 18 04 LTS软件源 xff0c 推荐使用国内的软件源 1 备份配置文件 xff1a cp a etc apt sources list etc apt sources list bak 2 修改sources l
  • Ubuntu终端快捷键打不开解决

    ubuntu快捷键打不开终端 问题描述 xff1a 快捷键打不开终端 xff0c 加装python3 9后 xff0c 就出现了gnome terminal报错和快捷键无法打开终端的问题 解决方法 xff1a cd usr lib pyth
  • 解决Win10 WSL2 IP地址经常变动导致docker容器无法正常访问

    前提是Win10已经安装好WSL2 xff0c 且linux发行版已经安装docker 安装wsl2host wsl2host下载地址 xff08 https github com shayne go wsl2 host releases
  • 关于BUG_ON()的一点笔记

    关于BUG ON 的一点笔记 最近在看isp1362的驱动经常看到这个BUG ON 在网上找了些相关资料 xff0c 现总结如下 先看代码吧 lt asm generic bug h gt ifndef HAVE ARCH BUG defi
  • 操作系统的各个版本和版本号对应

    内核中使用PsGetVersion 函数可以查询到当前的操作系统信息 BOOLEAN PsGetVersion PULONG MajorVersion OPTIONAL PULONG MinorVersion OPTIONAL PULONG
  • 云计算适合大专生学吗?

    云计算适合大专生学吗 xff1f 对于大专毕业生来说 xff0c 云计算的确是一个不错的选择 xff0c 因为云计算技术应用专业 xff0c 主要就是专科院校在办学 不管你是计算机相关专业的 xff0c 还是零基础想学习都是可以的 xff1
  • 收藏,最简单易懂的MapReduce使用讲解

    对于MapReduce相信大家并不陌生 xff0c 它是大数据Hadoop家族中最重要的成员之一 xff0c 是一个运行在Hadoop平台上的分布式计算框架 xff0c 对于大数据这块 xff0c 大家总是觉得高深莫测 xff0c 浅尝辄止
  • gcc-7.5.0源码安装

    由于想学习gcc 收集资料时发现了一本关于gcc源代码相关的书籍 xff0c 书中基于的版本是gcc 4 4 0 于是想重新编译一个带调试信息的版本 刚开始在ubuntu18 04上安装gcc 4 4 0时没有成功 xff0c 感觉是用系统
  • hdfs shell 操作基本语法

    hdfs用户切换并查看文件 xshell登陆到linux服务器 root 用户切换 以hdfs用户登陆查看创建的hive数据库是否以文件夹的形式存在hive文件目录下 su hdfs hdfs dfs ls apps hive wareho
  • js 多级对象数组删除对象

    let firstIndex 61 null let secondIndex 61 null const findItemNested 61 arr itemId nestingKey 61 gt arr reduce a item myI
  • Aarch64安装Anaconda Pytorch Torchvision

    1 Anaconda wget https github com Archiconda build tools releases download 0 2 3 Archiconda3 0 2 3 Linux aarch64 sh sudo

随机推荐

  • 扩大VMWARE里面虚拟硬盘大小(*.vmdk)

    http blog csdn net bshawk archive 2008 01 28 2070587 aspx 最近编译2 6 22的内核时 xff0c 发现虚拟机器FC6硬盘空间不够了 xff0c 于是乎 xff0c 想扩展下硬盘的大
  • c#加载xml文件

    C 加载xml文件 XmlDocument xmlDoc 61 new XmlDocument xmlDoc Load Application StartupPath 43 34 34 43 34 xml xml 34 加载xml文件 Xm
  • zram

    wiki zram是Linux内核的一个模块 xff0c 之前被称为 compcache zram通过在RAM内的压缩块设备上分页 xff0c 直到必须使用硬盘上的交换空间 xff0c 以避免在磁盘上进行分页 xff0c 从而提高性能 由于
  • 英飞凌 AURIX 系列单片机的HSM详解(2)——与HSM相关的UCB和寄存器

    本系列的其它几篇文章 xff1a 英飞凌 AURIX 系列单片机的HSM详解 xff08 1 xff09 何为HSM 英飞凌 AURIX 系列单片机的HSM详解 xff08 2 xff09 与HSM相关的UCB和寄存器 英飞凌 AURIX
  • MySQL数据库知识点总结

    1 什么是 MySQL MySQL 是 种关系型数据库 xff0c 在 Java 企业级开发中 常常 xff0c 因为 MySQL 是开源免费的 xff0c 并 且 便扩展 阿 巴巴数据库系统也 量 到了 MySQL xff0c 因此它的稳
  • 论文笔记-Towards Scene Understanding-Unsupervised Monocular Depth Estimation

    论文信息 标题 xff1a Towards Scene Understanding Unsupervised Monocular Depth Estimation with Semantic aware Representation作者 x
  • 结合 Casbin 对 http 请求做 RBAC 鉴权以及添加请求路由参数支持

    目录 总结 背景 实操 安装 Casbin 创建一个 Casbin 模型 创建一个 Casbin 策略 加载 Casbin 模型和策略并创建一个路由 总结 在本文中 xff0c 我们将介绍如何结合 Casbin 对 HTTP 请求进行基于角
  • Git—— master|RELEASE1/1

    当提交代码时 xff0c 多人合作避免不了要冲突 公司就我一个前端 xff0c 所以我一般情况下几乎不习惯pull代码 记录一下今天的执行过程 1 在vscode工具中操作更新的代码 2 在Git Bash中push 代码 span cla
  • 【FPGA】Mint20.3系统安装VCS2018环境

    mint系统是目前新手入手linux系统最为容易的系统版本 xff0c 其界面与Windows系统高度重合 vcs是IC开发常用的系统仿真工具 xff0c 但vcs工具的安装是一个很头疼的事情 xff0c 本篇展现在mint20 3系统安装
  • kubernetes使用flannel网络插件服务状态显示CrashLoopBackOff

    使用Kubeadm安装K8s集群 xff0c 在安装flannel网络插件后 xff0c 发现pod kube flannel ds 一直是CrashLoopBackOff 报错内容如下 xff1a log is DEPRECATED an
  • 用Python写了个金融数据爬虫,半小时干了全组一周的工作量

    最近 xff0c 越来越多的研究员 基金经理甚至财务会计领域的朋友 xff0c 向小编咨询 xff1a 金融人需要学Python么 xff1f 事实上在2019年 xff0c 这已经不是一个问题了 Python已成为国内很多顶级投行 基金
  • SSIS_数据流转换(Union All&合并联接&合并)

    Union All xff1a 与sql语言 Union All 一样 xff0c 不用排序 xff0c 上下合并多个表 Union All转换替代合并转换 xff1a 输入输出无需排序 xff0c 合并超过两个表 合并联接 xff1a 有
  • LACP协议:链路聚合/华为交换机LACP

    链路聚合的3种模式 61 61 61 61 61 gt 手工聚合 静态聚合 动态聚合 手工聚合 xff1a 手工汇聚概述 xff1a 手工负载分担模式是一种最基本的链路聚合方式 xff0c Eth Trunk 接口的建立 xff0c 成员接
  • Pytorch中Tensor和numpy数组的互相转化

    Pytorch中Tensor和Numpy数组的相互转化分为两种 xff0c 第一种转化前后的对象共享相同的内存区域 xff08 即修改其中另外一个也会改变 xff09 xff1b 第二种是二者并不共享内存区域 共享内存区域的转化 这种涉及到
  • #51单片机# 用中断实现蜂鸣器

    蜂鸣器常作为提示音 xff0c 用于计算机 打印机 万用表等设备中 提示音一般很简单 xff0c 能响就行 某单片机的蜂鸣器原理图 xff1a 该单片机的CPU原理图 xff1a 下面这段程序用到了中断的算法 xff0c 实现了蜂鸣器在4k
  • VM跨主机通信ovs配置

    如果位于不同物理主机上的两个VM需要通信 xff0c 那么底层的虚拟交换机ovs需要配置tunnel端口 OVS中支持添加隧道 Tunnel 端口 xff0c 常见隧道技术有两种gre或vxlan 隧道技术是在现有的物理网络之上构建一层虚拟
  • 免受 DDoS 攻击的五种技术

    尽管 DDoS 攻击很可怕 xff0c 但好消息是它们很容易预防 本节将讨论保护您的业务免受 DDoS 攻击的五种技术 一 高质量的网络硬件 高质量的网络基础设施可以帮助您检测甚至阻止网站流量的恶意增加 网络硬件包括路由器 用于连接设备的电
  • Failed to connect to /XXXfor block, add to deadNodes and continue. java.net.NoRouteToHostException:

    15 10 09 00 18 18 INFO DFSClient Could not obtain BP 1056880277 192 168 1 101 1444127746416 blk 1073741825 1001 from any
  • 手动编写 Makefile文件

    说明 xff1a 在我的学习过程中看过很多makefile 文件的编写的文章 xff0c 很多的文章对于初学者来说还有点不是很明白 xff0c 我看到陈皓的这篇文章写的还是很好的 xff0c 我把它放在我的blog里 xff0c 以便能够在
  • C#开发Windouw窗体之Form窗体及示例(基础)

    Forms窗体也称为窗口 xff0c 通过窗体可以显示信息 请求用户输入以及通过网络与远程计算机通信 我们首先要明白三点 xff1a 1 窗体也是对象 xff0c 窗体类定义了生成窗体的模板 xff0c 每当实例化一个窗体类 xff0c 就