Avatar
František Pastorek:

Ako mám uplatniť event:

private void Form1_KeyDown(object sender, KeyEventArgs e)

v prípade, že mam inicializovaný komponent button? Pretože ak spustím aplikáciu automaticky sa mi dá focus na button a preto po stlačený klávesy sa aktivuje button a nie Form1_KeyDown.

Vopred ďakujem za odpoveď.

 
Odpovědět 2.2.2015 19:10
Avatar
Odpovídá na František Pastorek
Michael Škrášek:

Můžeš zrušit tab index u buttonu, mně se to nikdy nestalo, když sem dáš kód, zkusím ti poradit v čem máš chybu.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 2.2.2015 19:44
Proč to dělat složitě, když to jde jednoduše.
Avatar
František Pastorek:

Ok. Toto je kód:

namespace WindowsFormsApplication19
{
    public partial class Form1 : Form
    {
        Button QuitTesting = new Button();
        public Form1()
        {
            InitializeComponent();

            QuitTesting.Text = "Ukoncit test";
            QuitTesting.Location = new System.Drawing.Point(186, 367);
            QuitTesting.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right);
            QuitTesting.Size = new Size(141, 36);
            Controls.Add(QuitTesting);
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show("aja", "aja", MessageBoxButtons.OK,MessageBoxIcon.Information);
        }
    }
}

V nom ale chyba nie je. A díky. Vyriešil som to. Akurát nie tab indexom ale tabstopom.

QuitTesting.TabStop = false;

Celý kod pre prípad, že by to niekto potreboval:

namespace WindowsFormsApplication19
{
    public partial class Form1 : Form
    {
        Button QuitTesting = new Button();
        public Form1()
        {
            InitializeComponent();

            QuitTesting.Text = "Ukoncit test";
            QuitTesting.Location = new System.Drawing.Point(186, 367);
            QuitTesting.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right);
            QuitTesting.Size = new Size(141, 36);
            QuitTesting.TabStop = false;
            Controls.Add(QuitTesting);
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show("aja", "aja", MessageBoxButtons.OK,MessageBoxIcon.Information);
        }
    }
}

Ďakujem veľmi pekne :)

 
Nahoru Odpovědět 2.2.2015 19:50
Avatar
Odpovídá na František Pastorek
Michael Škrášek:

pravda je že jsem si jméno přesně nepamatoval :D

Nahoru Odpovědět 2.2.2015 19:56
Proč to dělat složitě, když to jde jednoduše.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.