gpt4 book ai didi

c# - 如何在 NotifyIcon 中使用 MouseWheel

转载 作者:太空宇宙 更新时间:2023-11-03 13:17:26 25 4
gpt4 key购买 nike

我正在构建一个用于控制主音量的小程序,具有以下要求

  1. 坐在任务栏中(时钟旁边)

  2. 单击一下即可使主音量静音/取消静音

  3. 当鼠标悬停在图标上时,鼠标滚轮控制音量增大/增大/减小。

到目前为止,我已经通过结合这两个项目得到前两个工作 http://www.codeproject.com/Articles/290013/Formless-System-Tray-Application http://www.codeproject.com/Articles/18520/Vista-Core-Audio-API-Master-Volume-Control

我遇到的麻烦是 3 号,我猜这是我的小程序中最复杂的部分。

错误:“System.Windows.Forms.NotifyIcon”不包含“MouseWheel”的定义

我正在运行 Windows 8.1 x64 .NET 4.5/Visual Studio Express 2013

个人背景

  1. 我不是程序员。

  2. 十多年前,我确实在计算机类(class)中学习过基础 java。

  3. 我正在从 microsoftvirtualacademy.com 自学 C#

最佳答案

会发生这种情况,因为 NotifyIcon 不是控件,而是组件(它派生自 Component 类)。 MouseWheel 事件是 Control 类的成员,而不是 Component。因此,NotifyIcon 没有 MouseWheel 事件。

恐怕这个问题没有官方解决方案,因为公共(public) API (Shell_NotifyIcon) 不公开车轮信息。

UPD:随着需求的变化,有我的分步指南

首先,您需要为 NotifyIcon 添加 MouseClick 处理程序

notifyIcon.MouseClick += new MouseEventHandler(notifyIcon_MouseDown);

然后,将此事件处理程序添加到您的代码隐藏

void notifyIcon_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
// Increase volume here
}
else if (e.Button == MouseButtons.Right)
{
// Decrease volume here
}
else if (e.Button == MouseButtons.Middle)
{
// Mute here
}
}

关于c# - 如何在 NotifyIcon 中使用 MouseWheel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25595040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com