C#窗口介绍

news2024/9/28 21:25:36

窗口就是打开程序我们所面对的一个面板,里面可以添加各种控件,如下图所示,我们可以在属性栏设置其标题名称、图标、大小等。

图1 窗口图 图2 设置面板 图3 设置

双击标题框,会生成Load函数,也可以到事件里面去找

Load函数是窗口生成后需要执行的事件函数。

可以在里面加一些初始化函数。

二、基本介绍

关于他的属性与方法如下所示:

(关键的方法用黑体标注)

1、常用属性

(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。

(2) WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized

(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。

(3)StartPosition属性:用来获取或设置运行时窗体的起始位置。其取值及含义如表9-1 所示。默认的起

始位置是WindowsDefaultLocation。

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

(5)Width属性:用来获取或设置窗体的宽度。 (6)Height属性:用来获取或设置窗体的高度。

(7)Left属性:用来获取或设置窗体的左边缘的x坐标(以像素为单位)。 (8)Top属性:用来获取或设置窗体的上边缘的y坐标(以像素为单位)。

(9)ControlBox属性:用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。值为true

时将显示控制框,值为false时不显示控制框。

(10)MaximizeBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。值

为 true时显示最大化按钮,值为false时不显示最大化按钮。

(11)MinimizeBox 属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。值

为 true时显示最小化按钮,值为false时不显示最小化按钮。

(12)AcceptButton 属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按 Enter 键时就相

当于单击了窗体上的该按钮。

(13)CancelButton 属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按 Esc 键时就相当

于单击了窗体上的该按钮。

(14)Modal 属性:该属性用来设置窗体是否为有模式显示窗体。如果有模式地显示该窗体,该属性值为

true;否则为 false。当有模式地显示窗体时,只能对模式窗体上的对象进行输入。必须

隐藏或关闭模式窗

体(通常是响应某个用户操作),然后才能对另一窗体进行输入。有模式显示的窗体通常用做应用程序中 的对话框。

(15)ActiveControl属性:用来获取或设置容器控件中的活动控件。窗体也是一种容器控件。

(16)ActiveMdiChild属性:用来获取多文档界面(MDI)的当前活动子窗口。 (17)AutoScroll 属性:用来获取或设置一个值,该值指示窗体是否实现自动滚动。如果此属性值设置为

true,则当任何控件位于窗体工作区之外时,会在该窗体上显示滚动条。另外,当自动滚动打开时,窗体

的工作区自动滚动,以使具有输入焦点的控件可见。 (18)BackColor属性:用来获取或设置窗体的背景色。

(19)BackgroundImage属性:用来获取或设置窗体的背景图像。

(20)Enabled 属性:用来获取或设置一个值,该值指示控件是否可以对用户交互作出响应。如果控件可- 3 -

以对用户交互作出响应,则为 true;否则为false。默认值为true。 (21)Font属性:用来获取或设置控件显示的文本的字体。 (22)ForeColor属性:用来获取或设置控件的前景色。

(23)IsMdiChild属性:获取一个值,该值指示该窗体是否为多文档界面(MDI)子窗体。值为 true时,

是子窗体,值为false时,不是子窗体。

(24)IsMdiContainer 属性:获取或设置一个值,该值指示窗体是否为多文档界面(MDI)中的子窗体的

容器。值为true时,是子窗体的容器,值为false时,不是子窗体的容器。

(25)KeyPreview属性:用来获取或设置一个值,该值指示在将按键事件传递到具有焦点的控件前,窗体

是否将接收该事件。值为true时,窗体将接收按键事件,值为false时,窗体不接收按键事件。

(26)MdiChildren属性:数组属性。数组中的每个元素表示以此窗体作为父级的多文档界面(MDI)子窗 体。

(27)MdiParent属性:用来获取或设置此窗体的当前多文档界面(MDI)父窗体。 (28)ShowInTaskbar属性:用来获取或设置一个值,该值指示是否在Windows任务栏中显示窗体。

(29)Visible属性:用于获取或设置一个值,该值指示是否显示该窗体或控件。值为true

时显示窗体或控件,为 false时不显示。

(30)Capture属性:如果该属性值为true,则鼠标就会被限定只由此控件响应,不管鼠标是否在此控件的 范围内。

2、常用方法

下面介绍一些窗体的最常用方法。

(1)Show方法:该方法的作用是让窗体显示出来,其调用格式为: 窗体名.Show();

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

(2)Hide方法:该方法的作用是把窗体隐藏出来,其调用格式为: 窗体名.Hide();

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

(3)Refresh方法:该方法的作用是刷新并重画窗体,其调用格式为: 窗体名.Refresh();

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

(4)Activate方法:该方法的作用是激活窗体并给予它焦点。其调用格式为: 窗体名.Activate();

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

(5)Close方法:该方法的作用是关闭窗体。其调用格式为: 窗体名.Close();

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

(6)ShowDialog方法:该方法的作用是将窗体显示为模式对话框。其调用格式为: 窗体名.ShowDialog();

3.常用事件

(1)Load事件:该事件在窗体加载到内存时发生,即在第一次显示窗体前发生。 经常用来写一些初始化函数

(2)Activated事件:该事件在窗体激活时发生。

(3)Deactivate事件:该事件在窗体失去焦点成为不活动窗体时发生。

(4)Resize事件:该事件在改变窗体大小时发生。

(5)Paint事件:该事件在重绘窗体时发生。

(6)Click事件:该事件在用户单击窗体时发生。

(7)DoubleClick事件:该事件在用户双击窗体时发生。

(8)Closed事件:该事件在关闭窗体时发生。

三、应用案例

该事件在关闭窗体时发生

1、主窗口加载时调用Load函数进行初始化操作

譬如如下案例:

可以初始化设置窗体的最大值最小值等。

private void Form1_Load(object sender, EventArgs e)

{

this.MinimumSize = this.Size;

this.MaximumSize = this.Size;

this.MaximizeBox = false;

}

2、新建窗体

有时我们需要一个功能,点击菜单然后弹出一个新的窗口。

窗口2的名字属性为:FormDisplay

此时我们可以采用以下函数创建

public void btn_display_Click(object sender, EventArgs e)

{

FormDisplay frmExercise1 = new FormDisplay();//新建一个窗口

frmExercise1.Owner = this;

frmExercise1.Closed += new EventHandler(frm_Closed);

frmExercise1.Show();//显示这个窗口

}

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

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

相关文章

Linux(Centos)安装RabbitMQ+延时插件+开机自启动

安装目录1:前言1.1 系统环境1.2:安装版本1.3 简介2:安装2.1:安装前准备:2.2:安装Erlang2.3:安装RabbitMQ2.3:延迟依赖插件安装1:前言 1.1 系统环境 操作系统版本&#…

python-批量下载某短视频平台音视频标题、评论、点赞数

python-批量下载某短视频平台音视频标题、评论数、点赞数前言一、获取单个视频信息1、获取视频 url2、发送请求3、数据解析二、批量获取数据1、批量导入地址2、批量导出excel文件3、批量存入mysql数据库三、完整代码前言 1、Cookie中文名称为小型文本文件,指某些网…

【linux】软硬链接

在linux中在磁盘中定位文件并不是根据文件名而是根据文件的inode,一个文件对应一个inode但是一个inode可以对应多个文件。硬链接硬链接是通过索引节点进行的链接。在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接。硬链…

【论文速递】EMNLP 2020 - 将事件抽取作为机器阅读理解任务

【论文速递】EMNLP 2020 - 将事件抽取作为机器阅读理解任务 【论文原文】:Event Extraction as Machine Reading Comprehension 【作者信息】:Jian Liu and Yubo Chen and Kang Liu and Wei Bi and Xiaojiang Liu 论文:https://aclantholo…

计算机视觉知识体系

文章目录一、计算机视觉1.1 系统工程方案层1.2 领域任务模块层1.3 基础算法层1.4 深入领域体会一、计算机视觉 三个层次:系统工程方案层、领域任务模块层、基础算法层。 三方面知识点:图像处理、机器学习、基础数学与模型。 视频的三个场景&#xff1…

k8s node之间是如何通信的?

承接上文同一个node中pod之间如何通信?单一Pod上的容器是怎么共享网络命名空间的?每个node上的pod ip和cni0网桥ip和flannel ip都是在同一个网段10.1.71.x上。cni0网桥会把报文发送flannel这个网络设备上,flannel其实是node上的一个后台进程&…

【设计模式】2.抽象工厂模式

抽象工厂模式 前面介绍的工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机、传智播客只培养计算机软件专业的学生等。 这些工厂只生产同种类产品,同种类产品称为同等级产品,也就是说:工厂方法模式…

【python】条件语句,简单理解

嗨害大家好鸭!我是小熊猫~ Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 更多python资料获取:点击此处跳转文末名片获取 Python程序语言…

【笔记】两台1200PLC进行S7 通信(1)

使用两台1200系列PLC进行S7通信(入门) 文章目录 目录 文章目录 前言 一、通信 1.概念 2.PLC通信 1.串口 2.网口 …

2023年5月软考软件设计师备考经验

一、考试目标: 通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成…

cityengine自定义纹理库资源

背景 cityengine虽然可以将shp生成带纹理的三维模型,但是纹理不一定满足我们的要求,这时候我们就想用我们自己制作的纹理 粗略了解规则文件 了解Building_From_Footprint.cga这个规则文件,具体文件位置默认在 “C:\Users[电脑用户名:如Administrator]\Documents\CityEng…

小米无线AR眼镜探索版细节汇总

在MWC 2023期间,小米正式发布了一款无线AR眼镜,虽然还没看过实机,但XDA提前上手体验,我们从中进行总结。首先我要说的是,小米这款眼镜和高通无线AR眼镜参考设计高度重叠,产品卖点几乎一致,只是增…

OSWatcher.sh脚本说明

OSWatcher.sh脚本位于oswbb目录下(Oracle 19c数据库中脚本的路径是: /u01/app/oracle/product/19.0.0/dbhome_1/suptools/tfa/release/tfa_home/ext/oswbb/),由脚本startOSWbb.sh和stopOSWbb.sh来调用启动和停止它。 1. startOSW…

[Android Studio] Android Studio生成数字证书,为应用签名

🟧🟨🟩🟦🟪 Android Debug🟧🟨🟩🟦🟪 Topic 发布安卓学习过程中遇到问题解决过程,希望我的解决方案可以对小伙伴们有帮助。 📋笔记目…

python+ADCIRC潮汐、风驱动循环、风暴潮等海洋水动力模拟

目录 专题一 ADCIRC背景与原理 专题二 ADCIRC的编译安装 专题三 ADCIRC模式前处理 专题四 ADCIRC案例分析 专题五 Python基础与科学计算 专题六 ADCIRC模式后处理 学习包含ADCIRC模式的基础到高阶的内容,针对风暴潮的模拟和预报,既有基础理论讲解&…

Linux环境内存管理——链表

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Windows程序员如何学习Linux环境内存管理。由于很多程序在Windows环境下开发好后,还要部署到Linux服务器上去,所以作为Windows程序员有必要学习Linux环境的内存…

CD销售管理系统

技术:Java、JSP等摘要:二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。中国的网民充分领略到“畅游天地间,网络无极限” 所带来的畅快。随着Internet的飞速发展,使得网络的应用…

【深度学习】RNN

1. 什么是RNN 循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递…

Spring彻头彻尾的讲解,按照Spring框架启动流程,逐步剖析问题,不再是大杂烩!

文章目录1. 定义Spring Bean篇1.1 定义Spring Bean的几种方式1.1.1 XML文件定义Spring Bean1.1.2 JavaConfig定义Spring Bean1.1.3 Component注解定义SpringBean1.2 装配Spring Bean的四种常用方式1.2.1 手动装配 XML文件1.2.2 自动装配 XML文件1.2.3 手动装配 JavaConfig文…

冲冲冲,力扣javascript刷题——数组总结

力扣javascript刷题——数组总结冲冲冲,力扣刷题——数组总结1.二分查找力扣704题:二分查找35.搜索插入位置34.在排序数组中查找元素的第一个和最后一个位置69.x 的平方根367. 有效的完全平方数2.双指针法27. 移除元素26. 删除有序数组中的重复项283.移动零844. 比较…