C#中的Winform基础

news2024/9/24 13:23:00

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集合中

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

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

相关文章

【C++】一堆数组案例 元素逆置

所谓元素逆置就是把一堆数组的元素顺序反过来 例如一堆数组的为 1&#xff0c;2&#xff0c;3&#xff0c;4 那么它的逆置为 4&#xff0c;3&#xff0c;2&#xff0c;1 逆置过程运用赋值存储的思想&#xff0c;先把第一个数组存贮到一个变量中&#xff0c;然后把末尾数组…

开源LivePortrait,快速实现表情包自定义

最近可灵AI很火&#xff0c;看到网上生成的效果也很赞啊&#xff0c;之前发现快手可灵开源了LivePortrait&#xff0c;今天去玩了一下&#xff0c;很有意思。 比如下图官方展示效果&#xff1a; 这些图片开始自带表情了&#xff0c;主要就是通过LivePortrait来实现。 LivePor…

浏览器用户文件夹详解 - Top Sites(七)

1. TopSites简介 1.1 什么是TopSites文件&#xff1f; TopSites文件是Chromium浏览器中用于存储用户访问频率最高的网站信息的一个重要文件。每当用户在浏览器中访问网站时&#xff0c;这些信息都会被记录在TopSites文件中。通过这些记录&#xff0c;浏览器可以为用户提供个性…

校园抢课助手【7】-抢课接口限流

在上一节中&#xff0c;该接口已经接受过风控的处理&#xff0c;过滤掉了机器人脚本请求&#xff0c;剩下都是人为的下单请求。为了防止用户短时间内高频率点击抢课链接&#xff0c;海量请求造成服务器过载&#xff0c;这里使用接口限流算法。 先介绍下几种常用的接口限流策略…

脚拉脚模型笔记

脚拉脚模型 ⌈♪⌋例题&#xff1a; 辅助线&#xff08;中点&#xff09;做法&#xff1a; 倍长中线Rt △ △ △ 斜边中线等腰 △ △ △ 三线合一中位线 需要&#xff1a;两个等腰三角形&#xff0c;顶角互补 共__底点__ 底角需要连接 解&#xff1a; ∵ D Q 1 / 2 A B O…

中国人工智能最好50所大学排名-2024年最强学校名单

人工智能最强的学校包含&#xff1a;清华大学、上海交通大学、南京大学、西安电子科技大学、电子科技大学、中国科学技术大学、哈尔滨工业大学、华中科技大学、东南大学、浙江大学等学校。这些都是人工智能专业排名全国前十的名牌大学。 圆梦小灯塔将在下文继续为2024年高考生…

鸿蒙应用开发 DevEcoStudio 汉化

步骤 DevEcoStudio 是默认支持中文的&#xff0c;只是默认是关闭的&#xff0c;需要在已安装的插件中搜索 Chinese 关键字&#xff0c;然后启用并重启即可&#xff08;注意&#xff1a;是在已安装的插件中搜索&#xff09;。 1. 2. 3. 重启就行

滚珠花键:新能源汽车传动系统的核心动力传递者

在日常生活中&#xff0c;汽车已经成为了必不可少的交通工具&#xff0c;尤其是新能源汽车。而滚珠花键作为传动系统中的重要组成部分&#xff0c;在传动系统方面的作用不容忽视。 随着科技的不断发展&#xff0c;汽车行业也在不断进步&#xff0c;滚珠花键作为高精度的机械传动…

PE安装win11原版系统“无法创建新的分区,也找不到现有的分区”和“windows无法对计算机进行启动到下一个安装阶段”的解决办法

问题1 针对“无法创建新的分区&#xff0c;也找不到现有的分区”&#xff1a; 解决办法&#xff1a; 用Diskgenius等分区工具删除整个分区&#xff0c;不要在分区工具里新建分区&#xff0c;而是在安装系统选择安装磁盘的时候&#xff0c;直接选择这个磁盘&#xff0c;从而完成…

五. TensorRT API的基本使用-build-model-from-scratch

目录 前言0. 简述1. 案例运行2. 代码分析2.1 main.cpp2.2 model.cpp 3. 案例3.1 sample_conv3.2 sample_permute3.3 sample_reshape3.4 sample_batchNorm3.5 sample_cbr 4. 补充说明总结下载链接参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》&#xff0c;链接。…

《学会 SpringMVC 系列 · 写入拦截器 ResponseBodyAdvice》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

3.4数组和特殊矩阵

3.4.1数组的定义 数组是由n个相同类型的数据元素构成的有序序列 数组是线性表的推广,一个数组可以视为一个线性表 数组一旦被定义,其长度不会再改变,所以数组只会有存取元素和修改元素的操作 3.4.2数组的存储结构 多维数组 有两种映射方法:按行优先和按列优先 按行优先 …

2024 年最值得阅读的 10 个外国技术网站

从网络上数以千计的博客中挑选出最好的技术网站&#xff0c;并根据相关性、权威性、社交媒体关注者和新鲜度进行排名。 1. TechCrunch TechCrunch 是一家领先的科技媒体&#xff0c;致力于深入分析初创公司、评论新的互联网产品和发布科技新闻。该网站是科技专业人士和爱好者…

【传知代码】实体关系抽取(论文复现)

当谈论信息提取领域的最前沿时&#xff0c;实体关系抽取无疑是其中一颗耀眼的明星。从大数据时代的信息海洋中提炼出有意义的关系&#xff0c;不仅是科技进步的体现&#xff0c;更是人类对知识管理和智能决策迫切需求的响应。本文将探索实体关系抽取的核心技术、应用场景及其在…

域控搭建(windows 2012 R2和win10)

域控搭建 环境准备 两台windows虚拟机 主域控为&#xff1a;windows server2012 子域为&#xff1a;win10 虚拟机设置网段 Win10网络设置 Windows server2012网络设置 Windows server2012网络适配器 设置 识别成功 更改计算机名字 等待重启 Win10网络适配器 设置 识别成功 …

opencv-图像透视变换

透射变换是视角变化的结果&#xff0c;是指利用透视中心&#xff0c;像点&#xff0c;目标点共线的条件&#xff0c;按透视旋转定律使承影面(透视面)绕迹线(透视轴旋转某一角度&#xff0c;破坏原有的投影光束&#xff0c;仍能保持承影面上投影几何图形不变的变化) 它的本质将图…

QT实现步进电机控制和IMU数据读取显示

实现功能&#xff1a; 1.两步进电机分别使能和循环运动&#xff0c;可以设置循环次数、循环里分别运行的角度、旋转的速度和加减速度等等&#xff0c;在最下方的表格里显示发送和接收的CAN报文 2.读取水平电机当前位置和速度并画图显示&#xff0c;示波器暂停、缩放、滑动等功…

CVPR24《Neural Markov Random Field for Stereo Matching》

论文地址&#xff1a; https://arxiv.org/abs/2403.11193 源码地址&#xff1a; https://github.com/aeolusguan/NMRF 概述 手工设计的MRF模型在传统的立体匹配中占据主导地位&#xff0c;但与端到端的深度学习模型相比&#xff0c;其建模准确性不足。尽管深度学习大大改进了MR…

力扣SQL50 修复表中的名字 字符串函数

Problem: 1667. 修复表中的名字 &#x1f468;‍&#x1f3eb; 参考题解 select user_id, CONCAT(UPPER(left(name, 1)), LOWER(RIGHT(name, length(name) - 1))) as name from Users order by user_id

SQL注入实例(sqli-labs/less-2)

0、初始网页 1、闭合方式判断 当没有闭合符号进行注释时&#xff0c;网页并没有报错&#xff0c;所以可以确定无闭合符号&#xff0c;为数值型注入 2、确定查询表的列数 可以确定列数小于4 ?id1 order by 4 -- 确定查询表的列数为3列 ?id1 order by 3 -- 3、确定回显位置…