下面是用C#编写一个停放在任务栏上的图标程序的完整攻略:
步骤一:创建项目
- 打开Visual Studio 新建一个Windows 窗体应用程序项目。
- 在解决方案资源管理器中双击 Form1.cs 文件以打开窗体设计器。
- 将工具箱中的 NotifyIcon 控件拖到窗口设计器窗口中,这个控件将是我们后面实现任务栏图标功能的主角。
步骤二:实现图标控制功能
- 给 NotifyIcon 控件设置一个图标,可以使用工具箱中的 Icon 图标控件。
- 在窗体的 Form_Load 事件中设置NotifyIcon的属性,让它显示在任务栏中,并设置图标的提示文本。
csharp
private void Form1_Load(object sender, EventArgs e)
{
notifyIcon1.Visible = true;
notifyIcon1.Icon = new Icon("icon.ico");
notifyIcon1.Text = "这是我的图标控制小程序";
}
- 在NotifyIcon控件的 MouseClick 事件中编写代码让它显示/隐藏窗口或者执行其他的操作,以此可以实现图标的交互。
步骤三:添加菜单
NotifyIcon 控件支持添加菜单项,这里我们给它添加两个菜单项,一个打开窗口,一个关闭程序。
- 在窗口设计器中右键单击 NotifyIcon 控件,选择“添加上下文菜单”。
- 在弹出的菜单中,分别添加“打开”和“退出”两个菜单项。
- 在 NotifyIcon 控件的 ContextMenuStrip 属性中,将刚刚创建的上下文菜单关联到NotifyIcon 控件上。
csharp
notifyIcon1.ContextMenuStrip = contextMenuStrip1;
- 编写关闭程序的功能实现代码,这里使用 Application.Exit 方法。
csharp
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
示例如下:
以上是实现一个停放在任务栏上的图标程序的完整攻略。实际上,在这个基础上,还可以进一步完善图标的交互和菜单的功能,比如在菜单项上添加图标和快捷键等。
下面是具体的两个示例说明:
示例一:
通过代码让图标控制程序最小化到托盘:
private void Form1_Resize(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.notifyIcon1.Visible = true;
this.ShowInTaskbar = false;
this.Hide();
}
}
示例二:
在右键菜单项上添加一个图标和一个快捷键实现打开窗口:
- 在 Visual Studio 中导入一个程序图标,将其添加到项目中。
- 在“打开”菜单项的属性中设置 DisplayedImage 属性。
csharp
this.打开ToolStripMenuItem.Image = Properties.Resources.icon;
- 在“打开”菜单项的属性中设置 ShortcutKeys 属性为 Ctrl+O。
csharp
this.打开ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))));
- 编写“打开”菜单项的点击事件代码,以打开窗口的方式实现任务栏图标的交互。
csharp
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Normal;
this.ShowInTaskbar = true;
this.notifyIcon1.Visible = false;
this.Show();
}
这样就可以在右键菜单项上添加一个图标,并使用快捷键 Ctrl+O 实现打开窗口的操作了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用 C# 编写一个停放在任务栏上的图标程序 - Python技术站