🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #21586

Re: Jak zablokować zamykanie DialogBoxa przez ESC?

#21586
From: GrzybSon
Date: Tue, 15 Jun 2010 07:35
46 lines
2788 bytes
Użytkownik "WebSpider" <webs1821@spaaamowe.gmail.com> napisał w wiadomości 
news:hv68jq$j26$1@news2.ipartners.pl...
> Witam!
> Pracuję nad aplikacją której działanie można przerwać
> naciskając Escape, jednak, gdy użytkownik się pośpieszy
> i kilka razy go naciśnie to efekt jest taki, że aplikacja się wyłącza.
> Forma jest typu FixedDialog i chciałbym przy tym zostać.
> Można to jakoś ominąć?
>
> -- 
> Pozdrawiam,
> Konrad


Użytkownik "WebSpider" <webs1821@spaaamowe.gmail.com> napisał w wiadomości 
news:hv68jq$j26$1@news2.ipartners.pl...
> Witam!
> Pracuję nad aplikacją której działanie można przerwać
> naciskając Escape, jednak, gdy użytkownik się pośpieszy
> i kilka razy go naciśnie to efekt jest taki, że aplikacja się wyłącza.
> Forma jest typu FixedDialog i chciałbym przy tym zostać.
> Można to jakoś ominąć?
>
> -- 
> Pozdrawiam,
> Konrad

Myślę, że można by to zrobić na 3 sposoby:
1. poprzez założenie haka klawiaturowego na aplikację lub globalnego 
systemowego: wtedy przechwytujesz naciśnięcia klawiszy i odpowiednio 
reagujesz na klawisz ESC. Tutaj musisz wykazać się dobrą znajomością wywołań 
WinApi.
2. dołączenie do aplikacji filtru na wiadomości systemowego poprzez 
implementację interfejsu IMessageFilter. Działa to podobnie do haka z tym, 
że nie musisz dotykać się wogóle do WinApi no i działa w obrębie aplikacji.
3. ustawić flagę KeyPreview na true w formie wtedy także przechwytujesz 
naciśnięcia klawiszy w ramach formy - niestety tego nie testowałem i nie 
wiem czy naciśnięcie ESC w dialogu zostanie przechwycone w zdarzeniu KeyDown 
dla formy.

Ja bym zalecał punkt 2.

--
Pozdrawiam
 Maćko 
Technical Details
Message-ID: <hv7afc$hii$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
References: <hv68jq$j26$1@news2.ipartners.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
From: "GrzybSon" <grzybson@poczta.fm>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: Jak zablokować zamykanie DialogBoxa przez ESC?
Date: Tue, 15 Jun 2010 09:35:05 +0200
Organization: http://onet.pl
Lines: 48
Message-ID: <hv7afc$hii$1@news.onet.pl>
References: <hv68jq$j26$1@news2.ipartners.pl>
NNTP-Posting-Host: 62-121-97-180.home.aster.pl
X-Trace: news.onet.pl 1276587308 18002 62.121.97.180 (15 Jun 2010 07:35:08 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Tue, 15 Jun 2010 07:35:08 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-RFC2646: Format=Flowed; Response
X-Antivirus: avast! (VPS 100614-1, 2010-06-14), Outbound message
X-Antivirus-Status: Clean
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit