Windows Forms(简称WinForms)是.NET Framework中用于构建Windows桌面应用程序的一个组件。Form
类是WinForms中最基本的窗口类型,提供了一个容器,可以容纳控件(如按钮、文本框、标签等)。
以下是Form
的一些关键特性和用途:
-
创建窗口:
Form
是创建应用程序窗口的基础。 -
布局管理: 可以通过设置属性(如
Size
、StartPosition
等)来管理窗口的布局。 -
控件承载:
Form
可以承载各种控件,这些控件是用户与应用程序交互的界面元素。 -
事件处理:
Form
可以响应各种事件,如Load
、Click
、KeyPress
等,允许开发者编写事件处理代码。 -
数据绑定: 可以通过数据绑定技术将控件与数据源连接,实现数据的显示和编辑。
第一程序
namespace _7._16daywin01 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { this.label1.Text = "Hello,world"; } } }
启动之后点击显示按钮 会显示hello,world
常用的窗体控件
在Windows Forms (WinForms) 中,窗体(Form
)是应用程序中用户界面的基础组件。Form
类提供了许多属性,可以用来定义窗体的外观和行为。以下是一些常用的窗体属性:
-
BackColor: 定义窗体的背景颜色。
-
BackgroundImage: 设置窗体的背景图像。
-
Bounds: 获取或设置包括窗体的屏幕位置和大小的
Rectangle
。 -
ClientSize: 获取或设置窗体工作区域的大小。
-
TopMost: 确定窗体是否总是显示在其他窗体的顶部。
-
ControlBox: 确定是否显示窗体的控制框(最小化、最大化、关闭按钮)。
-
FormBorderStyle: 获取或设置窗体的边框样式(如固定单边、可调整大小等)。
-
MaximizeBox: 确定是否显示最大化按钮。
-
MinimizeBox: 确定是否显示最小化按钮。
-
Opacity: 获取或设置窗体的不透明度。
-
Size: 获取或设置窗体的大小。
-
StartPosition: 获取或设置窗体的启动位置(如屏幕中心、窗体左上角等)。
-
Text: 获取或设置窗体的标题。
-
Top: 获取或设置窗体顶部边缘与屏幕顶部边缘的距离。
-
Visible: 确定窗体是否可见。
-
WindowState: 获取或设置窗体的状态(正常、最小化、最大化)。
-
Width 和 Height: 分别获取或设置窗体的宽度和高度。
窗体常用的属性
Icon属性:设置窗体图标。
Text属性:设置窗体标题。
MaximizeBox:禁用窗体最大化按钮。
MinimizeBox:禁用窗体最小化按钮。
FormBorderStyle属性:设置窗体的边框样式(窗体是否固定也通过此属性设置)。
StartPosition属性:设置窗体首次出现的位置。
WindowState属性:设置窗体的初始可视状态。
TopMost属性:是否设置最前端窗口显示。
BackColor属性:设置窗体的背景颜色。
Backgroundlmage属性:设置窗体背景图片。
BackgroundlmageLayout属性:背景图片的布局方式。
窗体的常用事件:
Load事件:窗体加载事件
Click事件:窗体单击事件
FormClosing事件:窗体关闭事件(关闭前触发)
多窗体应用在C#中通常指的是一个应用程序中包含多个 Form
对象,每个窗体都可以独立地显示数据、处理用户交互和执行任务。WinForms 应用程序可以设计成包含主窗体(通常是应用程序启动时首先显示的窗体)和多个子窗体(可以由用户或程序逻辑从主窗体或其他窗体打开)。
以下是多窗体应用的一些关键概念和步骤:
关键概念
-
主窗体(Main Form): 应用程序启动时首先显示的窗体。
-
子窗体(Child Form): 可以从主窗体或其他窗体打开的窗体,通常用于显示详细信息或执行特定任务。
-
模态窗体(Modal Form): 打开时阻止用户与应用程序的其他部分交互,直到模态窗体关闭。
-
非模态窗体(Non-modal Form): 打开后用户可以继续与应用程序的其他部分交互。
创建多窗体应用的步骤
-
创建窗体类: 对于应用程序中的每个窗体,创建一个继承自
Form
的类。 -
设计界面: 使用Visual Studio的设计器或代码来为每个窗体添加控件和布局。
-
实现逻辑: 为窗体和控件编写事件处理代码和业务逻辑。
-
显示窗体: 在应用程序的
Main
方法或现有窗体中,使用Application.Run(new FormName())
来启动主窗体,或使用FormName form = new FormName(); form.Show();
来显示子窗体。 -
通信和数据传递: 子窗体可以通过构造函数、属性或方法与父窗体或其他窗体通信和传递数据。
-
管理窗体状态: 控制窗体的打开和关闭,以及模态和非模态状态。
在多窗体应用中,窗体之间的相互调用通常涉及以下两种情况:
-
打开另一个窗体:从一个窗体启动另一个窗体的显示。
-
数据传递:在窗体之间共享或传递数据。
打开另一个窗体
从一个窗体打开另一个窗体,可以使用以下方法:
-
Show() 方法:创建新窗体的实例,并将其作为非模态窗体显示出来。用户可以在新窗体和原始窗体之间自由切换。
-
ShowDialog() 方法:同样创建新窗体的实例,但将其作为模态窗体显示。这意味着用户必须关闭新窗体才能与原始窗体交互。