(文章目录)
前言
Windows窗体是Microsoft .NET Framework中提供的一种可视化用户界面(GUI)组件,它提供了一个容器,可以在其中添加其他控件,例如按钮、文本框、标签等,以便用户与应用程序交互。通过向窗体添加控件,并使用事件处理程序来响应用户交互,可以创建功能强大的Windows桌面应用程序。
一、Window窗体属性和事件
1.属性
Windows窗体是Microsoft .NET Framework中提供的一种可视化用户界面(GUI)组件。下面是一些常见属性的介绍:
-
FormBorderStyle属性:指定窗体的边框样式。常见的边框样式有None、FixedSingle、Fixed3D、Sizable等。
-
Text属性:指定窗体的标题文字。
-
Icon属性:指定窗体的图标,通常用于任务栏和窗体的标题栏。
-
BackColor属性:指定窗体的背景色。
-
ForeColor属性:指定窗体的前景色,也就是文本颜色。
-
Size属性:指定窗体的宽度和高度。
-
Location属性:指定窗体在屏幕上的位置,以屏幕左上角为原点。
-
MaximizeBox和MinimizeBox属性:指定窗体是否具有最大化和最小化按钮。
-
ControlBox属性:指定窗体是否具有控制框(包括关闭按钮、最大化按钮、最小化按钮)。
-
TopMost属性:指定窗体是否始终显示在其他窗体的前面。
-
TransparencyKey属性:指定窗体的透明颜色,这样在窗体上设置该颜色的区域将变为透明色。
-
ShowInTaskbar属性:指定窗体是否在任务栏上显示。
-
Visible属性:指定窗体是否可见。
以上是一些常用的窗体属性,还有很多其他的属性可以用于更细致的控制和定制。通过对这些属性的使用,可以创建出各种精美的窗体界面。
2.常用事件
- Load事件:当窗体加载完成时触发。在此事件中可以进行窗体的初始化操作。
- Click事件:当用户单击窗体时触发。可以用来实现单击窗体时的操作。
- DoubleClick事件:当用户双击窗体时触发。可以用来实现双击窗体时的操作。
- Resize事件:当窗体大小改变时触发。可以用来实现窗体大小改变时的操作。
- Close事件:当窗体即将关闭时触发。可以用来实现窗体关闭前的操作。
- FormClosing事件:当窗体关闭前触发,可以在此事件中进行关闭前的处理。可以通过此事件来防止误关闭窗体。
- MouseMove事件:当鼠标在窗体上移动时触发。可以用来实现鼠标在窗体上移动时的操作。
- KeyDown事件:当用户按下键盘上的键时触发。可以用来实现键盘按键事件的处理。
- KeyUp事件:当用户松开键盘上的键时触发。可以用来实现键盘按键事件的处理。
- GotFocus事件:当窗体获得焦点时触发。可以用来实现窗体获得焦点时的操作。
- LostFocus事件:当窗体失去焦点时触发。可以用来实现窗体失去焦点时的操作。
- FormClosed事件:当窗体已经关闭时触发。可以用来进行资源释放等操作。
除了以上常用事件,还有一些其他常用事件,例如: 13. Activate事件:当窗体激活时触发。可以用来实现窗体被激活时的操作。 14. Deactivate事件:当窗体失去激活状态时触发。可以用来实现窗体失去激活状态时的操作。 15. FormBorderStyleChanged事件:当窗体边框样式改变时触发。可以用来实现边框样式改变时的操作。 16. FormClosing事件:当窗体即将关闭时触发。可以用来实现窗体关闭前的操作。 17. FormClosed事件:当窗体已经关闭时触发。可以用来进行资源释放等操作。
这些事件可以帮助程序员实现窗体交互操作和界面的动态展示,让应用程序更加灵活、生动、易用。
3.相关案例
案例1:窗体属性
在WPF中,Window是最基本的窗体控件,每个Window控件都有许多可用的属性来定制它的外观和行为。下面是一个窗体的例子,展示了一些常用的窗体属性。
<Window x:Class="WpfApplication1.MainWindow"
Title="My Window"
Width="640"
Height="480"
WindowState="Maximized"
ResizeMode="CanResizeWithGrip"
WindowStartupLocation="CenterScreen"
Background="LightGray">
<Grid>
<!-- 窗体内容 -->
</Grid>
</Window>
这个例子中,我们设置了以下属性:
Title
:窗体标题。Width
和Height
:窗体的大小。WindowState
:窗体的初始状态(最大化、最小化或正常)。ResizeMode
:窗体的调整大小模式(默认为CanResize)。WindowStartupLocation
:窗体的初始定位(默认为Manual)。Background
:窗体的背景颜色。
案例2:窗体事件
除了属性,窗体还支持许多事件,例如Loaded、Closed、Closing、StateChanged等。在WPF中,可以通过在XAML代码中添加事件处理程序来响应这些事件。
<Window x:Class="WpfApplication1.MainWindow"
Title="My Window"
Width="640"
Height="480"
Loaded="Window_Loaded"
Closing="Window_Closing">
<Grid>
<!-- 窗体内容 -->
</Grid>
</Window>
这个例子中,我们为窗体添加了两个事件处理程序,分别对应Loaded和Closing事件。下面是这两个事件处理程序的代码。
private void Window_Loaded(object sender, RoutedEventArgs e)
{
MessageBox.Show("窗体已加载!");
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
MessageBoxResult result = MessageBox.Show("确定要关闭窗体吗?", "提示", MessageBoxButton.YesNo);
if (result == MessageBoxResult.No)
{
e.Cancel = true;
}
}
当窗体加载时,Window_Loaded事件处理程序会弹出一个消息框。当用户尝试关闭窗体时,Window_Closing事件处理程序会弹出一个确认框,如果用户选择"否"则取消关闭窗体的操作。