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配置

cs 复制代码
<?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集合中

相关推荐
椒颜皮皮虾྅17 小时前
让文档不止于文字:DeploySharp + PP-Structure,打通版面分析与表格重建
开发语言·学习·c#·.net·cuda
椒颜皮皮虾྅19 小时前
一套 C# 接口,解锁四类视觉任务:DeploySharp 分类、分割、关键点与旋转框实战
开发语言·分类·c#
罗迪尼亚的熔岩20 小时前
联合kuka机器人, 海康visonmaster 的手眼9点标定方法
机器人·c#·工业相机·标定
她说彩礼65万20 小时前
C# TaskCompletionSource
java·开发语言·c#
泛凡(Linyongui)1 天前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#
暴走约伯2 天前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质
信息安全失业大专人员2 天前
每日了解一个智能体-WorkBuddy
开发语言·ai·c#·智能体
呆呆敲代码的小Y2 天前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
淡海水2 天前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
椒颜皮皮虾྅2 天前
让 C# 读懂整张图:DeploySharp 驱动 PaddleOCR v4/v5/v6,打通 OCR 全流程
开发语言·人工智能·深度学习·学习·c#·ocr·cuda