玩转C#窗体-属性、方法和事件详细说明

文章目录

  • 简介
  • Windows窗体的基本属性
    • 一、布局属性
      • 1、StartPosition属性
      • 2、Location属性
      • 3、尺寸属性
      • 4、WindowsState属性
      • 5、Autoscroll属性
      • 6、AutoSize属性
    • 二、样式属性
      • 1、ControlBox属性
      • 2、MaximizeBox属性
      • 3、MinimizeBox属性
      • 4、HelpButton属性
      • 5、ShowIcon属性
      • 6、Icon属性
      • 7、ShowInTaskbar属性
      • 8、TopMost属性
      • 9、IsMdiContainer属性
      • 10、Opacity属性
      • 11、MainMenuStrip属性
    • 三、外观属性
      • 1、Text属性
      • 2、BackColor
      • 3、BackgroundImage
      • 4、BackgroundImageLayout
      • 5、ForeColor
      • 6、Font
      • 7、Cursor
      • 8、FormBorderStyle
    • 4、行为属性
      • 1、Enabled
      • 2、ContextMenuStrip
      • 3、AllowDrop
      • 4、ImeMode
    • 5、其他属性
      • AcceptButton
      • CancelButton
      • KeyPreview
  • 窗体的重要方法和事件
    • 一、常用方法
      • 1、Show
      • 2、ShowDialog
      • 3、Hide
      • 4、Close
      • 5、Refresh
      • 6、Activate
    • 二、常用事件
      • 窗体行为和操作相关
          • 1、Load
          • 2、FromClosing
          • 3、FromClosed
          • 4、Click
          • 5、DoubleClick
          • 6、MouseClick
          • 7、MouseDoubleClick
      • 窗体布局、外观和焦点相关
          • 1、Resize
          • 2、Paint
          • 3、Activated
          • 4、Deactivated
      • 窗体属性修改相关
          • 1、TextChanged
          • 2、LocationChanged
          • 3、SizeChanged
          • 4、BackClolorChanged
          • 5、FontChanged
  • 常用的输入输出方法
      • 1、最简单的消息框
      • 2、带标题的消息框
      • 3、带标题、按钮的消息框
      • 4、带标题、按钮、图标的消息框

  • 博主写作不容易,孩子需要您鼓励
  • 万水千山总是情 , 先点个赞行不行

简介

在windows窗体应用程序中,窗体是与用户交互的基本方式,是向用户展示信息的图形界面,窗体是Windows窗体应用程序的基本单元,一个窗体应用程序可以包含一个窗体或多个窗体。
窗体是存放各种控件的容器,一个Windows窗体包含了各种控件,如标签、文本框、按钮、下拉框等,这些控件是相对独立的用户界面元素,用来显示数据或接受数据输入,或者响应用户操作。
窗体也是对象,窗体类定义了生成窗体的模板,每实例化一个窗体类,就产生一个窗体。
using System.Windows.Forms命名空间中定义的Form类是所有窗体的基类,Form类被认为是对windows窗体的抽象。
所谓窗体,就是Windows的窗口,一个应用程序除了需要实现应有的功能外,还必须具有良好的用户界面。在C#中Windows应用程序的界面是以窗体为基础的,窗体是Windows应用程序的基本单位,用来向用户展示和接受用户的输入。

Windows窗体的基本属性

Windows窗体的属性决定了窗体的布局、样式、外观、行为等可视化特征。通过代码可以对这些属性进行设置和修改,但是更方便的做法是在属性编辑器窗口进行设置和修改。
在这里插入图片描述

一、布局属性

1、StartPosition属性

用来获取或设置程序运行时窗体的初始显示位置,该属性有5个可选属性值,默认值为WindowsDefaultLocation
如下表所示:

属性值说明
Manual窗体的初始显示位置由Location属性决定
CenterScreen窗体定位在当前显示屏幕窗口中居中,其尺寸在窗体大小Size中指定
WindowsDefaultLocation窗体定位在windows默认位置,其尺寸在窗体大小Size中指定
WindowsDefaultBounds窗体定位在windows默认位置,其边界也由windows默认指定
CenterParent窗体在其父窗体中居中位置

2、Location属性

获取或者设置显示时其左上角在桌面上的坐标,默认值为(0,0)。

3、尺寸属性

Size、MaximizeSize、MinimizeSize,分别表示窗体正常显示、最大化、最小化时的尺寸,他们分别包含窗体宽度Width和高度Height两个子项。

4、WindowsState属性

用来获取或设置窗体显示时的初始状态。默认为Normal
可选属性值如下表:

属性值说明
Normal表示窗体正常显示
Minimized窗体以最小化显示形态
Maximized窗体以最大化显示形态

5、Autoscroll属性

用来获取或设置一个值,该值指示当任何控件位于窗体工作区以外时,是否会在该窗体上自动显示滚动条,默认为False。

6、AutoSize属性

当无法全部显示窗体中的控件时是否自动调整窗体大小,默认值为False。

二、样式属性

窗体中有多个与标题栏有关的样式属性,他们大多为布尔类型。

1、ControlBox属性

用来获取或设置一个值,该值指示在该窗体的标题栏中、窗口左角处是否显示控制菜单,值为True时将显示该控制菜单,为False时不显示,默认值为True

2、MaximizeBox属性

用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮,值为True时将显示该按钮,为False时不显示,默认值为True

3、MinimizeBox属性

用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮,值为True时将显示该按钮,为False时不显示,默认值为True

4、HelpButton属性

用来获取或设置一个值,该值指示是否在窗体的标题栏中显示帮助按钮,值为True时将显示该按钮,为False时不显示,默认值为True

5、ShowIcon属性

用来获取或设置一个值,该值指示是否在窗体的标题栏中是否显示图标,值为True时将显示图标,为False时不显示,默认值为True

6、Icon属性

获取或设置窗体标题栏中的图标。

7、ShowInTaskbar属性

用来获取或设置一个值,该值指示是否在Windows任务栏中显示窗体,默认值为True

8、TopMost属性

用来获取或设置一个值,该值指示该窗体是否为最顶层窗体。最顶层窗体始终显示在桌面的最上层,即使该窗体不是当前活动窗体,默认值为False

9、IsMdiContainer属性

用来获取或设置一个值,该值指示窗体是否为多文档界面中的子窗体的容器。值为True时,窗体是子窗体的容器,为False时,不是子窗体的容器,默认值为False

10、Opacity属性

获取或设置窗体的不透明度,默认为100%,实际应用中,可以通过该属性给窗体增加一些类似半透明等的特殊效果。

11、MainMenuStrip属性

设置窗体的主菜单,在窗体中添加MenuStrip控件时,Visual Studio .NET会自动完成该属性设置。

三、外观属性

1、Text属性

该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示文字。

2、BackColor

用来获取或设置窗体的背景色。

3、BackgroundImage

用来获取或设置窗体的背景图片。

4、BackgroundImageLayout

设置背景图的显示布局,可选属性值为平铺Tile、居中Center、拉伸Stretch和放大Zoom,默认为Tile

5、ForeColor

用来获取或设置控件的前景色。

6、Font

获取或设置窗体中显示的文字的字体

7、Cursor

获取或设置当鼠标指针位于窗体上时显示的光标。

8、FormBorderStyle

获取或设置窗体的边框样式,该属性有7个可选值,默认值为Sizable。开发人员可以通过设置该属性值为none,实现隐藏窗体标题栏的功能。

属性值说明
None窗体无边框
FixedSingle固定的单行边框
Fixed3D固定的三维边框
FixedDialog固定的对话框式的粗边框
Sizable可调整大小的边框
FixedToolWindow固定大小的工具窗口边框
SizableToolWindow可调整大小的工具窗口边框

4、行为属性

1、Enabled

用来获取或设置一个值,该值指示窗口是否可用,即是否可以对用户交互做出响应。默认值为True

2、ContextMenuStrip

设置窗体的右键快捷菜单,需要先添加ContextMenuStrip控件,才能设置该属性。

3、AllowDrop

用来获取或设置一个值,该值指示窗口是否可以接受用户拖放到它上面的数据。默认值为False

4、ImeMode

获取或设置控件的输入法编辑器IME模式。

5、其他属性

AcceptButton

该属性用来获取或设置一个值,该值是一个按钮的名称,当按【Enter】键时就相当于单击了窗体上的该按钮。

CancelButton

该属性用来获取或设置一个值,该值是一个按钮的名称,当按【Esc】键时就相当于单击了窗体上的该按钮。

KeyPreview

该属性用来获取或设置一个值,该值指示在将按键事件传递到具有焦点的控件前,窗体是否接受该事件。值为True时,窗口将接受按键事件,值为False时,窗体不接受按键事件。

窗体的重要方法和事件

一、常用方法

1、Show

该方法的作用是让窗体显示出来

  • 语法格式如下:
  • 窗体名.Show();
    

    其中窗体名是要显示的窗体名称。
    例如使用show方法显示Form1窗体,代码如下。

    From1 frm = new Form1();
    frm.Show();
    

    2、ShowDialog

    该方法的作用是将窗口显示为模态对话框
    模态窗口就是在该窗口关闭之前,其父窗口不可能成为活动窗口的那种窗口。举个例子:
    窗口A弹出窗口B,如果窗口B是模态的,在窗口B关闭前就不可能切换到窗口A;如果B是非模态的,那可以在这两个窗口之间任意切换。
    它一般用来显示提示信息和接受用户的输入。对话框不能独立存在。目前有两种对话框,分别为:模态对话框 和 非模态对话框。
    模态对话框在显示之后,就不能对同一个程序中的其它窗口进行操作。
    非模态对话框在显示之后,还可以对同一个程序的其它窗口进行操作。

  • 语法格式如下:
  • 窗体名.ShowDialog();
    

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

    3、Hide

    该方法的作用是把窗体隐藏起来,但不销毁窗体,也不释放资源,可以使用Show方法重新显示。

  • 语法格式如下:
  • 窗体名.Hide();
    

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

    4、Close

    该方法的作用是把窗体关闭。

  • 语法格式如下:
  • 窗体名.Close();
    

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

    5、Refresh

    该方法的作用是刷新并重画窗体。

  • 语法格式如下:
  • 窗体名.Refresh();
    

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

    6、Activate

    该方法的作用是激活窗体并给予它焦点。

  • 语法格式如下:
  • 窗体名.Activate();
    

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

    二、常用事件

    与窗体有关的事件有很多,Visual Studio的“属性”编辑窗口中“事件”选项页列出了所有这些事件。
    窗体有关的事件被引发后,程序将转入执行与该事件对应的事件响应函数。开发人员可以通过双击“属性”编辑窗口中某事件后的空白框,让Visual Studio自动生成该事件对应的的事件响应函数,生成的函数初始内容是空白的,可以通过添加相应的功能代码,实现相应的功能。

    窗体行为和操作相关

    其中,与窗体行为和操作有关的常用事件有以下几种:

    1、Load

    窗体在首次启动、加载到内存时将引发该事件,即在第一次显示窗体前发生。

    2、FromClosing

    窗体在关闭过程中将引发该事件。

    3、FromClosed

    窗体在关闭后将引发该事件。

    4、Click

    用户单击该窗体时将引发该事件。

    5、DoubleClick

    用户双击该窗体时将引发该事件。

    6、MouseClick

    单击该窗体时将引发该事件。

    7、MouseDoubleClick

    双击该窗体时将引发该事件。

    窗体布局、外观和焦点相关

    1、Resize

    窗体大小改变时将引发该事件。

    2、Paint

    重绘窗体时将引发该事件。

    3、Activated

    窗体得到焦点后,即窗口激活时将引发该事件。

    4、Deactivated

    窗体失去焦点后,成为不活动窗体时将引发该事件。

    窗体属性修改相关

    1、TextChanged

    窗体的标题文本被更改时将引发该事件。

    2、LocationChanged

    窗体的位置被更改时将引发该事件。

    3、SizeChanged

    窗体的大小被更改时将引发该事件。

    4、BackClolorChanged

    窗体的背景颜色被更改时将引发该事件。

    5、FontChanged

    窗体的字体被更改时将引发该事件。

    常用的输入输出方法

    在Windows应用程序中,用户经常需要输入信息和输出信息。
    常用的可接受信息的控件有Lable控件、TextBox控件等。
    MessageBox是一个消息框对象。要创建消息框,需要调用MessageBox的Show方法实现,而Show方法有很多重载方式,常用的有以下四种方式。

    1、最简单的消息框

  • 语法格式如下:
  • MessageBox.Show("消息内容");
    

    2、带标题的消息框

  • 语法格式如下:
  • MessageBox.Show("消息内容","消息框标题");
    

    3、带标题、按钮的消息框

  • 语法格式如下:
  • MessageBox.Show("消息内容","消息框标题",消息框按钮);
    

    例如

    MessageBox.Show("确定当前参数:" + dIn_FirsPhotoYPos.Value.ToString(), "提示", MessageBoxButtons.OKCancel)
    

    4、带标题、按钮、图标的消息框

  • 语法格式如下:
  • MessageBox.Show("消息内容","消息框标题",消息框按钮,消息框图标);
    
    ------------------------------------------------------------------------------------------分割线
    ------------------------------------------------------------------------------------------
    
    • 博主简介:
    • 工业自动化上位机软件工程师、机器视觉算法工程师、运动控制算法工程师。目前从业于智能制造自动化行业。 博主邮箱:2296776525@qq.com
    • 帮忙点个赞吧。哈哈。

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

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

相关文章

for循环和数组练习

//公鸡2文&#xff0c;母鸡1文&#xff0c;小鸡半文&#xff0c;每种至少一只&#xff0c;100文买100只鸡有多少种可能var ci 0; for(var g1;g<50;g){for(var m1;m<100;m){for(var x1;x<100;x){if(g*2m*1x*(0.5)100&&gmx100){ci1;console.log("买公鸡&qu…

c# automapper 使用

一、最简单的用法 有两个类User和UserDto 1 public class User2 {3 public int Id { get; set; }4 public string Name { get; set; }5 public int Age { get; set; }6 }7 8 public class UserDto9 { 10 public string Na…

API设计原则 - Qt官网的设计实践总结

原文链接&#xff1a;API Design Principles - Qt Wiki 基于Gary的影响力上 Gary Gao 的译文稿&#xff1a;C的API设计指导 译文发在酷壳 - CoolShell&#xff1a;API设计原则&#xff0c; 2017-07-25 API设计原则 - Qt官网的设计实践总结 &#x1f34e; 译序 Qt的设计水准在业…

QtCreator5.12.6安装图文教程

前言接触过Qt的同学肯定用过QtCreator,本id最近常用&#xff0c;也就写个教程记录一下安装的过程。可能比较少人学过Qt&#xff0c;感觉Qt还是挺不错的&#xff0c;做出来的界面还算好看&#xff0c;关键是跨平台。说明&#xff1a;安装的系统&#xff1a;win10专业版QtCreator…

H.264学习(一)——帧和场的概念

一、何谓场&#xff1f; 每个电视帧都是通过扫描屏幕两次而产生的&#xff0c;第二个扫描的线条刚好填满第一次扫描所留下的缝隙。每个扫描即称为一个场。因此 25 帧/秒的电视画面实际上为 50 场/秒 (若为 NTSC 则分别为 30 & 60 - 因为我是中国人&#xff0c;因此我采用 P…

RabbitMQ for windows

一、搭建环境 Rabbit MQ 是建立在强大的Erlang OTP平台上&#xff0c;因此安装RabbitMQ之前要先安装Erlang。 erlang&#xff1a;http://www.erlang.org/download.html rabbitmq&#xff1a;http://www.rabbitmq.com/download.html 我目前使用的&#xff1a;http://pan.baidu.c…

圆环内外圆毛刺(凸起)缺口(凹陷)检测halcon

文章目录处理要求处理方法1方法一思路方法一halcon源码处理效果处理方法2方法二思路方法二halcon源码处理效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 椭圆/圆环&#xff08;产品易变形&#xff0c;为椭圆&#xff09;内外圆…

什么是单播、多播和广播br

什么是单播、多播和广播   “单播”&#xff08;Unicast&#xff09;、“多播”&#xff08;Multicast&#xff09;和“广播”&#xff08;Broadcast&#xff09;这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思&#xff1f;区别何在&#…

圆环同心度测量halcon

文章目录处理要求处理源码处理结果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 测量圆环同心度 处理源码 read_image (Image, C:/Users/22967/Desktop/图像Barrel 20201024/201024 手机行业 摄像头检测/Barrel 背光/Pic_2020_…

IP组播与组播协议

IP组播与组播协议 2008-4-27来源:不详 作者:佚名 点击&#xff1a;次在Internet上&#xff0c;多媒体业务诸如&#xff1a;流媒体&#xff0c;视频会议和视频点播等&#xff0c;正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特性--单点发送多点…

Spring Cloud的应用程序—上下文服务

2019独角兽企业重金招聘Python工程师标准>>> Spring Boot对于如何使用Spring构建应用程序有一个看法&#xff1a;例如它具有常规配置文件的常规位置&#xff0c;以及用于常见管理和监视任务的端点。Spring Cloud建立在此之上&#xff0c;并添加了一些可能系统中所有…

halcon圆环完整度检测

文章目录处理要求程序源码处理结果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找好的圆环&#xff0c;检测圆环不良 程序源码 read_image (Image, F:/HALCON/圆环完整性检测/6.bmp) rgb1_to_gray (Image, GrayImage) v…

圆环划痕检测halcon

文章目录处理要求处理源码处理效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找圆环缺陷 处理源码 read_image (Image, F:/HALCON/圆环划痕处理/10_33221_ba4582f0e88ec79.bmp) rgb3_to_gray (Image, Image, Image, Image…

日志OLAP:在SQL中使用UDF, lambda函数使用案例

场景 日志服务内置了20类SQL函数。面对用户复杂的业务场景&#xff0c;例如使用json来沉淀业务数据&#xff0c;普通的SQL函数可能就无法满足需求&#xff0c;需要一些用户自定义处理逻辑。为了处理json类的业务数据&#xff0c;我们可以采用把json展开成多行的形式进行统计分析…

瓶子个数计数halcon

文章目录处理要求处理方法一源码效果方法二源码效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找纸箱内瓶子个数 处理方法一 源码 dev_clear_window () dev_open_window (0, 0, 640*1.5, 512*1.5, black, WindowHandle…

halcon自动对焦算法

1、介绍 图像清晰度是衡量图像质量的一个重要指标&#xff0c;对于相机来说&#xff0c;其一般工作在无参考图像的模式下&#xff0c;所以在拍照时需要进行对焦的控制。对焦不准确&#xff0c;图像就会变得比较模糊不清晰。相机对焦时通过一些清晰度评判指标&#xff0c;控制镜…

HTML学习笔记06-连接

HTML超链接 HTML使用标签<a>来设置文本超链接。 超链接可以是文字&#xff0c;也可以是图片&#xff0c;点击这些内容跳转到新的文档或当前文档的某个部分 代码类似这样&#xff1a; <a href"url">连接文本</a> 实例&#xff1a; <!DOCTYPE HTM…

在Xcode中使用Git进行源码版本控制

在Xcode中使用Git进行源码版本控制 在应用程序开发过程中&#xff0c;很重要的一部分工作就是如何进行源码的版本控制。当代码出现问题时&#xff0c;我们就需要将代码恢复到原先正常的版本。如果是多个人共同开发一个项目&#xff0c;那么代码的控制就会非常复杂。幸运的是&am…

ASP.NET Web API之消息[拦截]处理(转)

出处&#xff1a;http://www.cnblogs.com/Leo_wl/p/3238719.html 标题相当难取&#xff0c;内容也许和您想的不一样&#xff0c;而且网上已经有很多这方面的资料了&#xff0c;我不过是在实践过程中作下记录。废话少说&#xff0c;直接开始。 Exception 当服务端抛出未处理异常…

死磕算法之快速排序

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/80851021 学习更多算法系列请参考文章&#xff1a;死磕算法之汇总篇 快速排序是一个运用了分治法和递归算法的排序方…