• C# WinForm —— 07 Form窗体介绍


    Form简介

    • 可视化的图面,显示信息。
    • 通常由 添加的控件 和 操作的响应 构成。
    • 继承于 Form —— System.Windows.Forms.Form 窗口或对话框
    • 可以在代码和窗体设计文件之间相互切换:
      1)在代码页面右键 → “查看设计器” → 切换到窗体界面;
      2)在窗体界面右键 → “查看代码” → “切换到代码页面”
    • 点击窗体,查看属性,窗体的 (Name)属性的值 和 代码页面的类名 一致
      在这里插入图片描述
      在这里插入图片描述
      上面的 partial 的意思是这里的代码内容只是 FrmUser类的一部分,编译的时候会和其他部分一起编译成一个FrmUser类。也就是说一个类的内容可以写在不同的地方。

    下面这个是文件名,当修改文件名时,窗体的 (Name)属性的值 和 代码页面的类名 都会随之修改。
    在这里插入图片描述

    • InitializeComponent()函数是窗体的初始化函数,里面主要定义了一些窗体和控件的属性,触发的事件/方法等,是 根据用户在属性里设置的内容 自动生成的
      在这里插入图片描述

    • 当 窗体 在文件夹下面的时候,调用时,需要用 “文件夹名字.窗体”
      在这里插入图片描述
      在这里插入图片描述

    常用属性

    1. 在属性面板可以设置的属性:

    1. (Name)属性:指示代码中用来标识该对象的名称,相当于一个身份ID,QQ号
    2. AcceptButton:窗体的接受按钮。如果设置了此按钮,则用户每次按“Enter”键都相当于单机这个按钮。可能是用户登录界面会用到,比如当用户输入用户名和密码之后,按回车 相当于 点击 登录 键。
    3. CancelButton:窗体的取消按钮。如果设置了此属性,则用户每次按“Esc”键都相当于单机这个按钮。
    4. AutoScroll:指示当控件内容大于它的可见区域时,是否自动显示滚动条。
    5. AutoSize:指定控件是否自动调整自身的大小以适应其内容的大小。
    6. BackColor:组件的背景色
    7. BackgroundImage:用于该控件的背景图像
    8. BackgroundImageLayout:用于组件的背景图像布局,比如:None无, Tile, Center居中, Stretch拉伸, Zoom自动缩放
    9. ContextMenuStrip:当用户右键 该控件时,显示的快捷菜单
    10. ControlBox:确定窗体是否有“控件/系统”菜单框,就是右上角的最大化、最小化、关闭按钮
      在这里插入图片描述
    11. Enabled:指示是否已启用该控件,如果不启用的话,无法对控件做任何操作
    12. Font:字体大小、类型设置
    13. ForeColor:窗体的前景色,用于显示文本
    14. FormBorderStyle:指示窗体的边框和标题栏的外观和行为,如:None,Sizable大小可调整,FixedSingle大小不可调整,Fixed3D大小不可调整,FixedDialog,FixedToolWindow,SizableToolWindow
    15. Maximum:确定窗体标题栏的右上角最大化框是否可用。
      在这里插入图片描述
    16. MaximizeBox:确定窗体标题栏的右上角是否有最大化框
    17. MinimizeBox:确定窗体标题栏的右上角是否有最小化框
    18. Opacity:控件的不透明度百分比
    19. Padding:指定控件的内部间距
    20. Icon:指示窗体的图标。在窗体的系统菜单框中显示,以及当窗体最小化时显示。加载的图标文件需要是 .ico 格式的
    21. ShowIcon:指示是否在窗体的标题栏中显示图标
    22. IsMdiContainer:确定该窗体是否是MDI容器,是否可以在窗体里面显示其他子窗体,并且里面的子窗体只能在该窗体内拖动,不能拖出去。有些软件界面在一个窗体内可以显示其他窗体。
    23. Location:控件左上角相当于其容器左上角的坐标。
    24. Size:控件的大小,以像素为单位
    25. StartPosition:确定窗体第一次出现时的位置:Manual,CenterScreen屏幕中央,WindowsDefaultLocation(默认),WindowsDefaultBounds,CenterParent显示在父容器的中央。
    26. Tag:与对象关联的用户定义数据,比如初始化窗体时传递的一些绑定的数据、关联的数据,整型值,字符串,对象,实体类等,是一个object类
    27. TopMost:指示该窗体是否始终显示在此属性未设置为true的所有其他窗体之上。
    28. WindowState:确定窗体的初始可视状态,Normal正常状态,Minimized最小化,Maximized最大化

    2. 在代码里设置属性

    在这里插入图片描述
    在这里插入图片描述
    这时,“确定”按钮不会显示在窗体界面中,只有当运行代码的时候,“确定”按钮才会显示出来。

    常用方法

    1. 实例化 :FrmUser fUser = new FrmUser();
    2. 显示窗体的方法
      1. Show():显示窗体
      2. ShowDialog():模式化窗体打开,当ShowDialog显示的窗体未关闭时,其他窗体是无法响应/操作的
    3. 激活窗体的方法:fUser.Activate(); 当窗体失去焦点的时候,可以用于激活窗体。失去焦点的意思就是:当新打开了窗体后,用户在新窗体上操作,原来的窗体就失去焦点了。
    4. 关闭窗体:Close()方法
    5. 隐藏窗体:Hide()方法
      在这里插入图片描述

    常用事件

    1. Load事件:加载窗体时,触发的函数
    2. FormClosing事件:当用户关闭窗体时,在窗体已关闭并指定关闭原因前发生。比如关闭窗体前的清理操作放在这个函数里
    3. Activated事件:每当窗体被激活时发生
    4. Deactivate事件:每当窗体被停用时发生
    5. FormClosed事件:每当用户关闭窗体时,在窗体已关闭并指定关闭原因后发生
    6. Click事件:单机窗体时发生
      在这里插入图片描述
      参考:2023年C#之WinForm零基础教程50讲
  • 相关阅读:
    vue项目启动npm install和npm run serve时出现错误Failed to resolve loader:node-sass
    【DaVinci Developer工具实战】05 - DaVinci Developer 功能区概述和介绍
    【CSDN】创作区上传图片-粘贴/文件上传失败解决!
    Streptavidin-Biotin/Biotin-Streptavidin 生物素修饰/标记/偶联链霉亲和素
    域名+端口不能访问问题
    OSPF——基本概念2(多区域与Vlink)
    C. Carrying Conundrum(思维 + 奇偶数位)
    【Java】堆学习
    java计算机毕业设计汇美食电子商城源码+mysql数据库+系统+LW文档+部署
    springcloud3 分布式事务-seata的搭建与微服务整合3
  • 原文地址:https://blog.csdn.net/qq_30387863/article/details/137925832