2014-08-31 2 views
2

내가 클릭 한 번에 (시계 옆) NotifyIcon

  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'

나는 윈도우 8.1의 x64 .NET 4.5/비주얼 스튜디오 익스프레스 2013

개인 배경을 실행하는거야에 대한 정의가 포함되어 있지 않습니다

  1. 저는 프로그래머가 아닙니다.

  2. 나는 10 년 전에 컴퓨터 과정에서 기본 자바를 사용했다.

  3. 나는 NotifyIcon가 제어되지 않기 때문에, 발생 microsoftvirtualacademy.com

답변

1

에서 자신을 C# .NET을 가르치고 있지만, 구성 요소 (그것은 구성 요소 클래스에서 파생 된 것). MouseWheel 이벤트는 Component가 아닌 Control 클래스의 멤버입니다. 따라서 NotifyIcon에는 MouseWheel 이벤트가 없습니다.

공용 API (Shell_NotifyIcon)가 휠 정보를 노출하지 않으므로이 문제에 대한 공식적인 해결책은 없습니다.

UPD : 요구 사항이 변경으로 내 단계별 가이드

첫째, 당신은,

notifyIcon.MouseClick += new MouseEventHandler(notifyIcon_MouseDown); 

그런 다음 NotifyIcon에 대한 MouseClick과 처리기를 추가하려면이 이벤트 핸들러를 추가 할 필요가있다 귀하의 코드 숨김

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 
    } 
} 
+0

이 경우 나는 내 요구 사항을 변경해야한다고 가정합니다. 왼쪽 클릭으로 볼륨 증가, 오른쪽으로 감소, 중간에서 음소거. –

+0

@IaaacChristie 내 대답을 업데이트했습니다. 도움이 되었기를 바랍니다. –

+0

감사합니다. 지금 구현하십시오. 다른 적절한 응답이 없으면 내 질문을 더 오래 열어 두어야합니다. –

관련 문제