📌  相关文章
📜  windows 窗体图标 (1)

📅  最后修改于: 2023-12-03 15:05:57.815000             🧑  作者: Mango

Windows 窗体图标

在 Windows 窗体应用程序中,窗体图标是很重要的一部分。图标不仅可以美化窗体,还可以突出品牌形象和产品特点。本文将介绍如何在 Windows 窗体中设置和使用图标。

如何设置窗体图标

窗体图标可以在窗体属性中设置。打开 Visual Studio 中的窗体设计视图,然后在属性窗口中找到 Icon 属性。通过 Browse 按钮,可以选择自定义的图标文件。

代码片段:

// C#
this.Icon = newIcon(@"path\to\icon.ico");

// VB.NET
Me.Icon = NewIcon("path\to\icon.ico")
如何添加多个图标

一个程序可以包含多个图标,每个图标可以针对不同的尺寸和颜色深度优化。Visual Studio 可以将多个图标打包为 .ico 文件,用于应对不同的显示环境。

.ico 文件添加到项目中,然后在 Properties > Application > Resources 中,通过 Add Resource 按钮添加图标。添加后,可以在 Properties > Application > Icon and manifest 中选择默认的图标。

代码片段:

// C#
this.Icon = Properties.Resources.icon1;

// VB.NET
Me.Icon = My.Resources.icon1
如何设置任务栏图标

任务栏图标是窗体图标的一种形式。在 Windows 中,任务栏图标会在用户最小化应用时显示。可以使用与窗体图标相同的 .ico 文件,或使用不同的图标进行优化。

要设置窗体的任务栏图标,需要添加以下代码:

代码片段:

// C#
[DllImport("user32.dll")]
static extern bool SendMessage(IntPtr hWnd, uint msg, int wParam, IntPtr lParam);

private const uint WM_SETICON = 0x80u;
private const int ICON_SMALL = 0;
private const int ICON_BIG = 1;

SendMessage(this.Handle, WM_SETICON, ICON_SMALL, Properties.Resources.icon1.Handle);
SendMessage(this.Handle, WM_SETICON, ICON_BIG, Properties.Resources.icon1.Handle);

// VB.NET
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageW" _
    (ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
    
Private Const WM_SETICON As UInteger = &H80UI
Private Const ICON_SMALL As Integer = 0
Private Const ICON_BIG As Integer = 1

SendMessage(Me.Handle, WM_SETICON, ICON_SMALL, My.Resources.icon1.Handle)
SendMessage(Me.Handle, WM_SETICON, ICON_BIG, My.Resources.icon1.Handle)
总结

本文介绍了如何在 Windows 窗体应用程序中设置和使用图标,包括设置窗体图标、添加多个图标以及设置任务栏图标。通过精心设计图标,可以提高应用的品牌形象和用户体验。