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

C#中的Winform基础

program

每个Windows应用程序都会有一个Program类——程序入口点

[STAThread] ----指示应用程序的COM线程模型是单线程单元(如果无此特性,无法工作)

static voidMain() —— 入口

System.Windows.Forms.Application类提供一系列静态方法和属性,来管理应用程序

启用应用程序的可视样式 第一句

Application.EnableVisualStyles();

将CompatibleTextRendering设置为false 默认值

Application.SetCompatibleTextRenderingDefault(false);

指定应用程序中要启动的窗体,将启动的窗体可见,并显示出来

Application.Run(newFrmUser());

程序运行中如果关闭启动页 程序会立即退出

App.config配置

<?xml version="1.0" encoding="utf-8" ?>
<configuration><startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /></startup><!--与应用程序有关的信息--><appSettings></appSettings><!--配置与应用程序相关的连接字符串--><connectionStrings></connectionStrings>
</configuration>

控件:输入或操作数据的对象。控件有自己的属性、方法、事件。

属性 ——外观

方法 ——功能

事件 ——行为

特征

可视化 可以与用户进行交互

暴露出属性和方法、事件 可供开发人员使用

可发布和重用

控件开发

1.复合控件 各种控件组合起来,形成一个控件,

2.扩展控件 现有控件上派生出一个新的控件,为原有控件增加新的功能

3.自定义控件:Control类派生,提供入门性能,

现有控件满足不了你的需求,需要自定义控件来达到。

Form

Form:一种可视图画,可在其上显示信息。通常通过添加控件和开发用户操作的响应,来构建Windows窗体应用程序

继承于Form ---System.Windows.Forms.Form 组成应用程序用户界面的窗口或对话框。

属性:

Name WindowState StartPosition--运行时窗体的起始位置 Text:标题栏中显示的文本

Icon 窗体左上角图标ico 格式 ShowIcon IsMdiContainer

TopMost 是否显示其他未设置这个属性为true的窗体之上

Width Height ControlBox 是否显示控制框 MaximizeBox MinimizeBox 最大/小化按钮

AcceptButton CancelButton BackColor BackgroundImage ContextMenuStrip FormBorderStyle 窗体的边框和标题栏的外观和行为

常用方法:

Show()显示窗体

ShowDialog() 窗体显示为模式对话框。

Hide()隐藏窗体

Activate() 激活窗体并给予它焦点

Close() 关闭窗体

常用事件

Load 加载窗体时发生

Activated 窗体被激活时发生

Deactivate 被停用时发生

VisibleChanged 窗体Visible属性发生更改时发生

FormClosing 正在关闭时发生

Form初始化:

创建一个Form ---new Form() ; ---执行构造函数--执行InitializeComponent();

InitializeComponent() --

每个窗体生成的时候,都会为当前窗体定义此方法,而实际上该方法是系统生成的。每个Form创建以后,都会对应生成.cs文件和.Designer.cs文件。

业务逻辑及事件处理方法代码等编写在.cs文件中,而界面设计代码则封装在.Designer.cs文件里,

.cs文件和.Designer.cs文件都在同一个类下面,以partial 标识,表示分布类。也就是,一个类的代码,可以放在两个不同文件里,最后编译后生成的是一个类。

从工具箱中拖放一个控件放在窗体上,在.Designer.cs文件里的InitializeComponent()里就会自动生成该控件的初始化代码。若不调用这个方法,窗体上的控件就是不会初始化,就不会显示控件。

Form控件的添加

添加控件方式:

1.直接从工具箱中拖放控件到窗体上

2.在后台代码方法里,通过编写代码添加控件。

添加控件过程:

实例化

属性设置

注册事件----把控件添加到当前窗体的Controls集合中

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • java学习--泛型
  • yum仓库的制作与使用
  • 谷歌开源最强端侧小模型:2B参数越级跑赢GPT-3.5-Turbo,苹果15Pro运行飞快
  • 云计算 docker 管理镜像和容器
  • python pip怎么安装包
  • O’Reilly
  • 人工智能的“智能”本质
  • 开源:LLMCompiler高性能工具调用框架
  • vLLM初识(一)
  • Milvus Cloud向量数据库如何实现高可用
  • 科普文:微服务之分布式链路追踪SkyWalking单点服务搭建
  • springboot给类进行赋初值的四种方式
  • MySQL的InnoDB存储引擎
  • JS输出随机数
  • 2024关于日本AI 领域TOP12 的大学介绍
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • C++类的相互关联
  • cookie和session
  • Docker下部署自己的LNMP工作环境
  • Fabric架构演变之路
  • Java 多线程编程之:notify 和 wait 用法
  • maven工程打包jar以及java jar命令的classpath使用
  • MySQL主从复制读写分离及奇怪的问题
  • Python_OOP
  • Sublime text 3 3103 注册码
  • 汉诺塔算法
  • 记一次和乔布斯合作最难忘的经历
  • 前端js -- this指向总结。
  • 前端临床手札——文件上传
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • mysql面试题分组并合并列
  • NLPIR智能语义技术让大数据挖掘更简单
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #vue3 实现前端下载excel文件模板功能
  • $(function(){})与(function($){....})(jQuery)的区别
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C语言)球球大作战
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (k8s)Kubernetes本地存储接入
  • (二)换源+apt-get基础配置+搜狗拼音
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (汇总)os模块以及shutil模块对文件的操作
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)Unity3DUnity3D在android下调试
  • (转)winform之ListView