更改 Windows 窗体外观.docx

上传人:b****7 文档编号:9339927 上传时间:2023-02-04 格式:DOCX 页数:25 大小:28.01KB
下载 相关 举报
更改 Windows 窗体外观.docx_第1页
第1页 / 共25页
更改 Windows 窗体外观.docx_第2页
第2页 / 共25页
更改 Windows 窗体外观.docx_第3页
第3页 / 共25页
更改 Windows 窗体外观.docx_第4页
第4页 / 共25页
更改 Windows 窗体外观.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

更改 Windows 窗体外观.docx

《更改 Windows 窗体外观.docx》由会员分享,可在线阅读,更多相关《更改 Windows 窗体外观.docx(25页珍藏版)》请在冰豆网上搜索。

更改 Windows 窗体外观.docx

更改Windows窗体外观

更改Windows窗体外观

.NETFramework4.5

其他版本

此主题尚未评级 - 评价此主题

可以按很多不同的方式自定义Windows窗体应用程序的外观,例如,更改Windows窗体应用程序的边框、不透明性、形状、样式,或设置它的背景图像。

本节内容

如何:

更改Windows窗体的边框

显示如何更改窗体的边框样式。

Topic

Location

如何:

显示有模式和无模式Windows窗体

Windows窗体编程

如何:

设置Windows窗体的屏幕位置

Windows窗体编程

如何:

启用WindowsXP视觉样式

Windows窗体编程

如何:

创建透明Windows窗体

Windows窗体编程

如何:

使启动Windows窗体不可见

Windows窗体编程

如何:

使用设计器更改Windows窗体的边框

Windows窗体编程

如何:

向Windows窗体添加背景图像

Windows窗体编程

如何:

创建非矩形Windows窗体

Windows窗体编程

如何:

启用WindowsXP视觉样式

Windows窗体编程

如何:

创建非矩形Windows窗体

Windows窗体编程

如何:

向Windows窗体添加背景图像

Windows窗体编程

如何:

显示有模式和无模式Windows窗体

Windows窗体编程

如何:

使启动Windows窗体不可见

Windows窗体编程

如何:

创建透明Windows窗体

Windows窗体编程

如何:

设置Windows窗体的屏幕位置

Windows窗体编程

如何:

使用设计器更改Windows窗体的边框

Windows窗体编程

如何:

启用WindowsXP视觉样式

Windows窗体编程

如何:

创建非矩形Windows窗体

Windows窗体编程

如何:

向Windows窗体添加背景图像

Windows窗体编程

如何:

显示有模式和无模式Windows窗体

Windows窗体编程

如何:

使启动Windows窗体不可见

Windows窗体编程

如何:

创建透明Windows窗体

Windows窗体编程

如何:

设置Windows窗体的屏幕位置

Windows窗体编程

如何:

使用设计器更改Windows窗体的边框

Windows窗体编程

如何:

启用WindowsXP视觉样式

dv_ManCli

如何:

创建非矩形Windows窗体

dv_ManCli

如何:

向Windows窗体添加背景图像

dv_ManCli

如何:

显示有模式和无模式Windows窗体

dv_ManCli

如何:

使启动Windows窗体不可见

dv_ManCli

如何:

创建透明Windows窗体

dv_ManCli

如何:

设置Windows窗体的屏幕位置

dv_ManCli

如何:

使用设计器更改Windows窗体的边框

dv_ManCli

如何:

启用WindowsXP视觉样式

dv_ManCli

如何:

创建非矩形Windows窗体

dv_ManCli

如何:

向Windows窗体添加背景图像

dv_ManCli

如何:

显示有模式和无模式Windows窗体

dv_ManCli

如何:

使启动Windows窗体不可见

dv_ManCli

如何:

创建透明Windows窗体

dv_ManCli

如何:

设置Windows窗体的屏幕位置

dv_ManCli

如何:

使用设计器更改Windows窗体的边框

dv_ManCli

参考

Form

描述此类并提供指向其所有成员的链接。

FormBorderStyle

描述此枚举并包含对其所有成员的说明。

VisualStyleRenderer

描述此类并提供指向其所有成员的链接。

Image

描述此类并提供指向其所有成员的链接。

Region

描述此类并提供指向其所有成员的链接。

Color

描述此类并提供指向其所有成员的链接。

相关章节

WindowsXP功能和Windows窗体控件

描述支持WindowsXP的Windows窗体的功能。

调整Windows窗体的大小和比例

包含指向一些主题的链接,这些主题显示如何更改窗体的大小和比例。

Windows窗体中的图形和绘制

包含指向一些主题的链接,这些主题描述如何在Windows窗体上执行自定义绘制。

具有内置所有者描述支持的控件

列出Windows窗体控件中的所有者描述支持。

如何:

更改Windows窗体的边框

.NETFramework4.5

其他版本

此主题尚未评级 - 评价此主题

在确定Windows窗体的外观和行为时,有几种边框样式可供选择。

 通过更改 FormBorderStyle 属性,可控制调整窗体大小的行为。

 另外,设置 FormBorderStyle 会影响标题栏如何显示以及标题栏上出现哪些按钮。

 有关更多信息,请参见 FormBorderStyle。

VisualStudio中对此任务提供了广泛的支持。

有关更多信息,请参见如何:

使用设计器更改Windows窗体的边框 和如何:

使用设计器更改Windows窗体的边框 和如何:

使用设计器更改Windows窗体的边框 和如何:

使用设计器更改Windows窗体的边框 和如何:

使用设计器更改Windows窗体的边框.

以编程方式设置Windows窗体的边框样式

∙将 FormBorderStyle 属性设置为所需的样式。

 下面的代码示例将窗体 DlgBx1 的边框样式设置为 FixedDialog。

C#

C++

VB

DlgBx1.FormBorderStyle=System.Windows.Forms.FormBorderStyle.FixedDialog

有关更多信息,请参见如何:

在设计时创建对话框 和如何:

在设计时创建对话框 和如何:

在设计时创建对话框 和如何:

在设计时创建对话框 和如何:

在设计时创建对话框.

另外,如果为窗体选择了提供可选的“最小化”和“最大化”按钮的边框样式,则可以指定希望其中的一个按钮有效还是两个都有效。

 当您希望精确控制用户体验时,这些按钮非常有用。

 “最小化”和“最大化”按钮在默认情况下处于启用状态,而且其功能通过“属性”窗口进行操作。

请参见

参考

FormBorderStyle

FixedDialog

其他资源

Windows窗体入门

如何:

向Windows窗体添加背景图像

.NETFramework4.5

其他版本

此主题尚未评级 - 评价此主题

设计Windows窗体时,有时可能希望在控件中或窗体上放置一幅背景图像。

 通过使用“属性”窗口可以轻松实现此目的。

向Windows窗体添加背景图像

1.单击“属性”窗口中窗体的 BackgroundImage 属性。

 单击省略号()按钮打开“选择资源”对话框。

2.单击“导入”打开“打开文件”对话框。

 导航至一个位图(.bmp)文件,例如/Rhododendron.bmp。

 单击“打开”接受选择。

请注意,所选择的文件现在显示在“项”列表中,而图像显示在“预览”框中。

3.单击“确定”将图像作为资源导入。

 请注意,现在图像显示在窗体上。

 可以使用 BackgroundImageLayout 属性控制窗体上图像的外观。

还请注意,现在项目具有一个名为“Resources”的文件夹,源图像已复制到该文件夹中。

从Windows窗体删除背景图像

∙在“属性”窗口中,右击 BackgroundImage 属性的省略号()按钮,然后单击“重置”。

请参见

参考

“选择资源”对话框

图标的图像编辑器

资源编辑器

ResourceManager

StronglyTypedResourceBuilder

概念

桌面应用程序中的资源

创建桌面应用程序的资源文件

社区附加资源

如何:

使用设计器更改Windows窗体的边框

.NETFramework4.5

其他版本

此主题尚未评级 - 评价此主题

当确定Windows窗体的外观时,有几种边框样式可供选择。

 通过更改 FormBorderStyleFormBorderStyle 属性,可控制调整窗体大小的行为。

 另外,设置 FormBorderStyle 会影响标题栏如何显示以及标题栏上出现哪些按钮。

 有关更多信息,请参见 FormBorderStyle。

若要以编程方式设置Windows窗体的边框样式,请参见 如何:

更改Windows窗体的边框。

 说明

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。

 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。

 有关更多信息,请参见 VisualStudio设置。

在设计时设置Windows窗体的边框样式

∙在“属性”窗口中,将 FormBorderStyle 属性设置为所需的样式。

 说明

选择边框样式将控制标题栏上“最小化”和“最大化”框的出现。

 若要打开或关闭其功能,但不影响其存在,请参见下面的“禁用Windows窗体上的‘最小化’和‘最大化’按钮”过程。

∙窗体的边框样式通过使用 FormBorderStyle 枚举来设置。

 若要在代码中设置或更改窗体的边框样式,则只需要将 FormBorderStyle 属性设置为此枚举的值之一即可。

∙对话框是具有确定的边框样式的窗体示例,它使用的是 FixedDialog 边框样式。

禁用Windows窗体上的“最小化”和“最大化”按钮

∙在“属性”窗口,选中 MinimizeBox 和 MaximizeBox 中的任何一个,然后选择 false。

根据所设置的属性,现在虽然存在相应的按钮,但不具备功能。

如何:

创建透明Windows窗体

.NETFramework4.5

其他版本

此主题尚未评级 - 评价此主题

使用MicrosoftWindowsXP,可控制显示的窗口的不透明度。

 若要使窗体更透明,请调整其 Opacity 属性。

 说明

因为只有在Windows2000或更新的操作系统中才支持透明窗体,所以在较旧的操作系统(如Windows98)上运行时,不论为 Opacity 属性设置的值是什么,Windows窗体都是完全不透明的。

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。

 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。

 有关更多信息,请参见 VisualStudio设置。

控制Windows窗体的不透明度

∙在“属性”窗口中,将 Opacity 属性设置为一个介于0.0(完全透明)与1.0(完全不透明)之间的值。

以编程方式控制Windows窗体的不透明度

∙在方法中,将 Opacity 属性设置为一个介于0.0(完全透明)和1.0(完全不透明)之间的百分数。

 Opacity 属性是 Double 值类型。

C#

C++

VB

PublicSubMakeSeeThru()

frmTransparentForm.Opacity=0.83

EndSub

 

请参见

任务

如何:

使控件拥有透明背景

如何:

用不透明和半透明的画笔绘制

如何:

绘制不透明和半透明的线条

参考

Windows窗体概述

其他资源

Windows窗体中的对话框

更改Windows窗体外观

如何:

创建非矩形Windows窗体

.NETFramework4.5

其他版本

此主题尚未评级 - 评价此主题

以前,创建非矩形窗体是一个既费时又费人力的过程,其中涉及到API调用和大量的编程工作。

 现在,这已经不成问题了。

 说明

此过程涉及到大量的相关硬件的图形处理,因此,根据现有的内存和图形卡,计算机的执行也有所不同。

 当应用程序涉及到自定义绘图时,在为用户部署该应用程序之前,应始终在不同的显示视频卡上进行测试,以确保良好的性能。

创建非矩形窗体的过程有两个要素:

创建成形的窗体,并编写某些编程逻辑的代码以允许移动和关闭窗体。

 第二个步骤是必要的,因为自定义形状的窗体没有标题栏,并且它本身不具有任何功能,例如在屏幕中移动窗体以及关闭窗体的能力。

 因此,编写重现这些功能的代码是非常必要的。

 有关创建非矩形形状的两个窗体和控件的更多信息,请参见如何:

创建特定形状的Windows窗体。

创建非矩形窗体的过程包含三个步骤:

∙创建一个作为窗体图面的位图。

 (一种有效的方式是,您可以从矩形中“裁剪掉”所需的窗体形状。

∙创建Windows应用程序项目,将其属性设置为移除标题栏并使用位图作为窗体背景。

∙输入重新创建标题栏所提供功能的代码,例如移动和关闭窗体。

 说明

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。

 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。

 有关更多信息,请参见 VisualStudio设置。

创建特定形状的窗体

1.创建一个非矩形的单色位图,其背景则使用另一种颜色。

 使用您喜欢的任何绘图程序。

 所绘制的形状最终将成为您的窗体,因此请确保该形状足够大,以满足使用的需求。

 说明

请选择便于记忆的背景色,例如蓝色,因为这对于后面的操作是非常重要的。

2.在VisualStudio中创建一个新的Windows应用程序项目。

 有关更多信息,请参见如何:

创建新的Windows窗体应用程序项目。

3.在“属性”窗口中:

o将 FormBorderStyle 属性设置为 None。

此属性从窗体中移除标题栏。

 (它同时移除标题栏所提供的功能,包括关闭和移动窗体的能力。

 不过,以下代码中解决了这种不足。

o将窗体的 BackgroundImage 属性设置为先前创建的位图文件。

 不必将文件添加到项目系统中;这将在指定该文件作为背景图像时自动完成。

此属性将该位图图像设置为窗体的背景。

 (当与以下指定的 TransparencyKey 属性前后使用时,此属性将定义窗体的形状。

o将 TransparencyKey 属性设置为位图文件的背景色。

此属性告诉应用程序窗体中的哪些部分需要设置为透明。

 说明

如果监视器的颜色深度设置大于24位,则不管 TransparencyKey 属性是如何设置的,窗体的非透明部分都会产生显示问题。

 若要避免出现这种问题,请确保“显示”控制面板中的监视器颜色深度的设置小于24位。

 当开发具有这种透明功能的应用程序时,请牢记应使您的用户意识到此问题。

编写关闭窗体的代码

1.将一个 Button 控件添加到窗体中。

 有关更多信息,请参见如何:

向Windows窗体添加控件。

2.添加代码,使用户可通过调用 Close 方法关闭该窗体。

下面的示例显示如何添加一个按钮,单击该按钮将关闭窗体。

C#

VB

PrivateSubButton1_Click(ByValsenderAsSystem.Object,_

ByValeAsSystem.EventArgs)HandlesButton1.Click

Me.Close()

EndSub

 

C#说明

请确保添加启用事件处理程序的代码。

 使用以下示例中的代码,它类似于以下内容:

this.Button1.Click+=newSystem.EventHandler(this.button1_Click);

编写移动窗体的代码(可选)

1.创建一个在拖动窗体时使窗体移动的过程。

 输入类似于下文显示的代码来创建新的 Point 对象。

 这将作为计算如何移动窗体时的变量。

 isMouseDown 字段用于跟踪用户是否按下了鼠标按钮。

 该窗体应只在用户按下鼠标按钮时才移动。

C#

VB

PrivatemouseOffsetAsPoint

PrivateisMouseDownAsBoolean=False

 

2.为窗体的 MouseDown 事件创建一个事件处理程序。

 在处理程序中添加代码,使用户可以在窗体上的任意位置单击以拖动窗体。

 有关创建事件处理程序的详细信息,请参见如何:

使用设计器创建事件处理程序。

输入类似于下文显示的代码,以根据鼠标指针的当前位置,将坐标分配给mouseOffset 变量。

 在以下代码中,请注意偏移位置是使用有关边框大小(FrameBorderSize.Width)和标题栏高度(CaptionHeight)的系统信息进行计算的。

 在测试偏移位置时必须考虑这些因素,因为某些测量结果是使用工作区得出的,而另一些测量结果是使用屏幕坐标得出的。

 因此,偏移位置等于边框宽度加上标题高度,再加上窗体工作区的偏移位置。

C#

VB

PrivateSubForm1_MouseDown(ByValsenderAsObject,_

ByValeAsMouseEventArgs)HandlesMyBase.MouseDown

DimxOffsetAsInteger

DimyOffsetAsInteger

Ife.Button=MouseButtons.LeftThen

xOffset=-e.X-SystemInformation.FrameBorderSize.Width

yOffset=-e.Y-SystemInformation.CaptionHeight-_

SystemInformation.FrameBorderSize.Height

mouseOffset=NewPoint(xOffset,yOffset)

isMouseDown=True

EndIf

EndSub

 

C#说明

请确保添加启用事件处理程序的代码。

 使用以下示例中的代码,它类似于以下内容:

this.MouseDown+=new

System.Windows.Forms.MouseEventHandler

(this.Form1_MouseDown);

3.为窗体的 MouseMove 事件创建一个事件处理程序。

输入类似以下内容的代码。

 单击鼠标左键并且拖动鼠标时,窗体的 Location 属性将设置为新的位置。

C#

VB

PrivateSubForm1_MouseMove(ByValsenderAsObject,_

ByValeAsMouseEventArgs)HandlesMyBase.MouseMove

IfisMouseDownThen

DimmousePosAsPoint=Control.MousePosition

mousePos.Offset(mouseOffset.X,mouseOffset.Y)

Location=mousePos

EndIf

EndSub

 

C#说明

请确保添加启用事件处理程序的代码。

 使用以下示例中的代码,它类似于以下内容:

this.MouseMove+=new

System.Windows.Forms.MouseEventHandler

(this.Form1_MouseMove);

4.为窗体的 MouseUp 事件创建一个事件处理程序。

 输入类似以下内容的代码。

C#

VB

PrivateSubForm1_MouseUp(ByValsenderAsObject,_

ByValeAsMouseEventArgs)HandlesMyBase.MouseUp

'ChangestheisMouseDownfieldsothattheformdoes

'notmoveunlesstheuserispressingtheleftmousebutton.

Ife.Button=MouseButtons.LeftThen

isMouseDown=False

EndIf

EndSub

 

C#说明

请确保添加启用事件处理程序的代码。

 使用以下示例中的代码,它类似于以下内容:

this.MouseUp+=new

System.Windows.Forms.MouseEventHandler

(this.Form1_MouseUp);

请参见

任务

如何:

创建特定形状的Windows窗体

如何:

创建透明Windows窗体

参考

Windows窗体概述

如何:

显示有模式和无模式Windows窗体

.NETFramework4.5

其他版本

此主题尚未评级 - 评价此主题

窗体和对话框要么是有模式的,要么是无模式的。

 “模式”窗体或对话框必须关闭或隐藏,然后您才能继续使用应用程序的其余部分。

 有关使用对话框的更多信息,请参见 对话框的用户输入。

显示重要消息的对话框应始终是有模式的。

 VisualStudio中的“关于”对话框是一个有模式的对话框的示例。

 MessageBox 是一个可供您使用的有模式的窗体。

“无模式”窗体让您在此窗体与另一窗体之间变换焦点,而不必关闭初始窗体。

 用户在该窗体显示的同时可继续在任何应用程序的其他位置工作。

无模式窗体的编程难度更大,因为用户访问这些窗体的顺序可能无法预知。

 不论用户执行什么操作,都必须使该应用程序的状态保持一致。

 工具窗口经常以无模式方式显示。

 无模式对话框的一个示例是VisualStudio中可从“编辑”菜单访问的“查找”对话框。

 使用无模式窗体可显示常用的命令或信息。

 说明

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。

 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。

 有关更多信息,请参见 VisualStudio设置。

将窗体显示为有模式对话框

∙调用 ShowDialog 方法。

下面的代码示例演示如何有模式地显示对话框。

C#

C++

VB

DimfrmAboutasNewForm()

'DisplayfrmAboutasamodaldialog

frmAbout.ShowDialog()

ShowDialog 方法有一个可选参数 owner,该参数可用于指定窗体的父子关系。

 例如,当主窗体中的代码显示对话框时,可将 Me(在VisualBasic中)或 this(在VisualC#中)作为该对话框的所有者传递,以使您的主窗体成为所有者,如以下代码所示。

C#

C++

VB

PrivateSubmnuAbout_Click(ByValsenderAsO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1