2009-06-09 5 views
0

내가 작업하고있는 응용 프로그램에서 사용자가 양수로 음수이고 값이 항상 양수로 표시되는 셀의 값을 변경하면 응용 프로그램에서 양수 값 . 현재이 상황이 발생하면 사용자에게 경고가 표시되지 않습니다.시간 초과가 될 수있는 눈에 띄지 않는 경고 알림

새로운 메일이 Outlook에 도착했을 때 표시되는 것과 같이 눈에 띄지 않는 알림을 표시하고 싶습니다. 그러면 사용자가 응용 프로그램 대신 자신을 대신해 알림을 보낼 수 있습니다.

이렇게하려면 NotifyIcon 클래스를 사용해 보았습니다. 하지만 그 클래스의 문제는 타임 아웃이 예상대로 작동하지 않는 것 같습니다. 나는이 경고를 2 초 이상 보여주고 BallonTipText는 10 초 이상 지속됩니다.

이 목적으로 .NET 클래스가 있습니까? 그렇지 않은 경우 다른 방법이 있습니까?

답변

2

이 경우 알림 아이콘을 사용하는 것이 잘못되었습니다. 사용자의 관심은 셀에 무언가를 입력 할 때 셀에 있습니다. 화면의 오른쪽 하단에 알림을 표시하면 사용자는 그것을 놓칠 가능성이 높으며, 그렇지 않은 경우 사용자의 작업 흐름을 방해합니다.

대신 사용자가 편집중인 셀에 풍선 팁을 추가하는 것이 좋습니다. 일종의 풍선 팁처럼 Windows 탐색기는 파일 이름에 허용되지 않는 문자를 입력하려고 할 때 파일 이름을 변경에 Vista 및 Windows 7에 표시되고 :

enter image description here

+0

풍선 도움말을 어떻게 작성 하시겠습니까? – Svish

+0

나는 잘 모른다. 그것은 단지 UX 관점에서 상호 작용을 향상시킬 수있는 방법이었습니다. 하지만 아마도 P/Invoke route를 따라 가야 할 것입니다. – Joey

+0

Ajax는 사용자 피드백으로 적합합니다. 툴팁/풍선을 만들려면이 플러그인을 테스트 할 수 있습니다. http://jquery.bassistance.de/tooltip/demo/ – Steven

0

내가 과거에이 문제가 있었다. 시간 제한 문제는 운영 체제가 최소 값 10 초와 최대 값 30 초 (또는 이와 비슷한 값)를 수정했기 때문에 발생합니다. 편집 아, 여기에는 사용자가 유휴 상태 인 시간은 포함되지 않습니다. 편집

나는이 문제를 해결하기 위해 과거에 다음 코드를 사용했습니다.

그냥 100ms의 지연 비활성화 타이머 컨트롤을 삽입 은 0

의 값으로, ballonTipActive라는 말 공용 변수를 선언 명확히하고 notifyicon 컨트롤에서 BalloonTipShown에서 이벤트를 만들 수 있습니다. 다음 false로 실제 눈에 보이는 속성을 설정 그리고

private void ptNotifyIcon_BalloonTipShown(object sender, EventArgs e) 
{ 
    timer1.Enabled = true; 
    balloonTipActive = 0; 
} 

private void timer1_Tick(object sender, EventArgs e) 
{ 

    balloonTipActive++; 

    if (balloonTipActive == 40) 
    { 
    ptNotifyIcon.Visible = false; 
    ptNotifyIcon.Visible = true; 
    balloonTipActive = 0; 
    timer1.Enabled = false; 
    } 
} 

은 풍선를 제거한다.

+0

실제로 이것은 일반적인 해결 방법 인 것으로 보이지만 false/true 설정 후 아이콘이 첫 번째 트레이 위치로 "점프"합니다 –

관련 문제