Új hozzászólás Aktív témák

  • Gregorius

    őstag

    válasz tildy #178 üzenetére

    Szerintem jobban jársz, ha globálisan csinálod meg, nem egyenként minden control-ra.
    Ehhez először el kell kapni a billentyűleütéseket a Form-on:
    this.KeyPreview=true;
    Aztán lereagálni a KeyDown/KeyPress események valamelyikét. A KeyDown finomabban hangolható: az alábbi működik Enter-re, de pl. Shift-Enter-re már nem reagál.
    private void Form1_KeyDown( object sender, KeyEventArgs e )
    {
    if( e.KeyData == Keys.Enter )
    {
    e.SuppressKeyPress = true;
    this.SelectNextControl(this.ActiveControl, true, true, true, true); //A SendKeys-t nem szeressük
    }
    }

    Egy apró pici részletet még nem szabad elfelejteni: ha a Form-on van AcceptButton (Form.AcceptButton=...), akkor az mindenképpen ellopja az Enter-t bármelyik Control-ról, akármit is csinálsz.

Új hozzászólás Aktív témák