Article View: alt.pl.comp.lang.csharp
Article #22207Re: Jak dodać zdarzenie KeyDown do Panel
From: Maciej Rychter
Date: Fri, 17 Jun 2011 07:07
Date: Fri, 17 Jun 2011 07:07
63 lines
4580 bytes
4580 bytes
On 11 Cze, 10:26, akowal <akrunne...@gmail.com> wrote:
> To jest cały program
>
> using System;
> using System.Collections.Generic;
> using System.ComponentModel;
> using System.Data;
> using System.Drawing;
> using System.Linq;
> using System.Text;
> using System.Windows.Forms;
>
> namespace Jeden
> {
> public partial class Form1 : Form
> {
> public Form1()
> {
> InitializeComponent();
> }
>
> private void Form1_Load(object sender, EventArgs e)
> {
> this.ActiveControl = this.panel1;
> this.panel1.KeyDown += new KeyEventHandler(panel1_KeyDown);
> }
>
> void panel1_KeyDown(object sender, KeyEventArgs e)
> {
> String s = e.KeyCode.ToString();
> e.Handled = true;
> MessageBox.Show(s);
> }
> }
>
> }
>
> Na Form1 jest Panel i to wszystko. Chciałbym na panellu rysowac
> figurę, a badać klawisz Delete po to aby
> można narysowaną fiigurę usunąć. Stąd takie proste ćwiczenie, ale nie
> rrozumieem dlaczego MessageBoox.Show
> wywwołuje mmi się dwa razy. e.Handled = true nie pomaga.
>
> Pozdrawiam
Witam,
ja bym tam się nad tym zagadnieniem nie zastanawiał zbyt długo tylko
zaszedł zagadnienie od drugiej strony:
przechwytywanie komunikatów systemowych (w tym przechwytywanie
naciśnięć klawiszy) możesz zrobić za pomocą implementacji interfejsu
IMessageFilter.
Sprawdzałem to kiedyś w aplikacji i działa to całkiem zgrabnie -
jedyne czego musisz się dowiedzieć to numerek wiadomości związane z
naciśnięciem klawisza, ale to nie jest problem (Google twoim
przyjacielem jest).
Zajrzyj pod adresik: http://geekswithblogs.net/Jaggi/archive/2006/02/02/67999.aspx
Tam masz prosty przykładzik. Oczywiście taki filterek działa dla całej
aplikacji nie tylko dla wybranej formy, ale podane wymagania powinien
spełniać idealnie.
Technical Details
Message-ID:
<34852184-af60-474b-a6f8-2ad409749da9@s41g2000prb.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newsfeed.straub-nv.de!feeder.news-service.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!209.197.12.246.MISMATCH!nx02.iad01.newshosting.com!newshosting.com!novia!news-out.readnews.com!news-xxxfer.readnews.com!postnews.google.com!s41g2000prb.googlegroups.com!not-for-mailReferences:
<01ebc3ac-0c03-4fab-b148-767902beaa84@j31g2000yqe.googlegroups.com> <28523cf1-ce13-4f33-a533-388e545ca2b3@d1g2000yqe.googlegroups.com> <a85d1a36-1708-4835-a39e-6f0f5aab3c37@z13g2000yqg.googlegroups.com> <09ccfcea-a2b4-4a49-b874-fcfb9f53a424@m4g2000yqk.googlegroups.com> <bdc9793e-ee0f-41ea-b007-e9c430b34088@16g2000yqy.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newsfeed.straub-nv.de!feeder.news-service.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!209.197.12.246.MISMATCH!nx02.iad01.newshosting.com!newshosting.com!novia!news-out.readnews.com!news-xxxfer.readnews.com!postnews.google.com!s41g2000prb.googlegroups.com!not-for-mail From: Maciej Rychter <rychter.maciej@gmail.com> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: Jak dodać zdarzenie KeyDown do Panel Date: Fri, 17 Jun 2011 00:07:38 -0700 (PDT) Organization: http://groups.google.com Lines: 77 Message-ID: <34852184-af60-474b-a6f8-2ad409749da9@s41g2000prb.googlegroups.com> References: <01ebc3ac-0c03-4fab-b148-767902beaa84@j31g2000yqe.googlegroups.com> <28523cf1-ce13-4f33-a533-388e545ca2b3@d1g2000yqe.googlegroups.com> <a85d1a36-1708-4835-a39e-6f0f5aab3c37@z13g2000yqg.googlegroups.com> <09ccfcea-a2b4-4a49-b874-fcfb9f53a424@m4g2000yqk.googlegroups.com> <bdc9793e-ee0f-41ea-b007-e9c430b34088@16g2000yqy.googlegroups.com> NNTP-Posting-Host: 80.94.182.138 Mime-Version: 1.0 X-Trace: posting.google.com 1308294571 19585 127.0.0.1 (17 Jun 2011 07:09:31 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 17 Jun 2011 07:09:31 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: s41g2000prb.googlegroups.com; posting-host=80.94.182.138; posting-account=0LtQXAoAAABsec8yh6dn4H8zU73p878u User-Agent: G2/1.0 X-HTTP-Via: 1.1 webwasher (Webwasher 6.8.7.9979) X-Google-Web-Client: true X-Google-Header-Order: ASELNKCHRUV X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit