2013-11-15 3 views
1

현재 Windows 응용 프로그램에서 작업하고 있습니다.트레이 아이콘이 릴리스 모드가 아닌 디버그 모드에서 작동 중입니다.

양식을 닫을 때 트레이 아이콘을 만들었을 때 트레이 아이콘이 시스템 트레이에 표시됩니다.

왼쪽 트레이 아이콘을 클릭하는 동안 양식이 최대화되어 정상 상태가됩니다.

이벤트가 릴리스 모드에서는 작동하지 않지만 디버그 모드에서는 작동합니다.

이 응용 프로그램을 빌드 한 후 오른쪽 이벤트가 작동하지 않습니다. 디버그 모드의 output.exe 파일.

도움을 주시면 감사하겠습니다. 미리 감사드립니다. 폼로드에서

private void MainRelease_Load(object sender, EventArgs e) 
{ 
    TrayIcon.Visible = false; 
    TrayMenu.Items.Add("Exit"); 
    TrayMenu.Items[0].Click += new System.EventHandler(this.Dispose_Click); 
} 

버튼 가까운 이벤트에서

private void btnClose_Click(object sender, EventArgs e) 
{ 
    this.WindowState = FormWindowState.Minimized; 
    TrayIcon.Visible = true; 
    ShowInTaskbar = false; 
} 

트레이 아이콘 마우스 클릭 이벤트에서이

private void TrayIcon_MouseClick(object sender, MouseEventArgs e) 
{ 
    if (e.Button == System.Windows.Forms.MouseButtons.Left) 
    { 
     this.WindowState = FormWindowState.Normal; 
     TrayIcon.Visible = false; 
     ShowInTaskbar = true; 

    } 
    if (e.Button == System.Windows.Forms.MouseButtons.Right) 
    { 
     TrayMenu.Show(Cursor.Position.X, Cursor.Position.Y); 
    } 
} 

트레이 메뉴 이벤트 처리

private void Dispose_Click(object Sender, EventArgs e) 
{ 
    TrayIcon.Visible = false; 
    TrayIcon.Icon = null; 
    TrayIcon.Dispose(); 
    Application.Exit(); 
} 
,

릴리스 모드에서 트레이 아이콘 마우스 오른쪽 버튼 클릭 이벤트가 작동하지 않습니다. 하지만 디버그 모드에서 작동합니다.

이 문제를 해결할 수 있도록 도와주세요.

+1

TrayMenu는 어떤 유형입니까? ContextMenu (Show (int, int) 메서드가 없음) ... – elgonzo

+0

@elgonzo 아마도 ContextMenuStrip –

+0

@ elgonzo : 나는 심지어 TrayMenu.Show()를 시도했습니다. 및 TrayMenu.Visible = true; 또한. 그것의 작동하지 않는다 –

답변

0

어쩌면 이것은 바보 같은 대답 일지 모르지만 릴리스 빌드가 최신 버전입니까? 디자이너에서 디버깅을하는 경우, 릴리스 빌드는 그렇게 설정하지 않으면 빌드를 실행할 때 업데이트되지 않습니다. 어쩌면 릴리스 빌드는 오른쪽 클릭을 처리하기위한 코드를 추가하기 전부터였습니까?

디자이너가 아닌 릴리스 모드에서 디버깅하지 않고 릴리스 폴더에서 릴리스 빌드를 실행하면 릴리스 빌드가 작동합니까?

+0

릴리즈 빌드는 최신 버전입니다. 디버그 및 릴리스 폴더를 삭제하고 새 빌드를 만들었습니다. 오류도 계속 발생합니다. –

관련 문제