Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Form focus

C# .NET .NET (C# a Visual Basic) Form focus American English version English version

Aktivity (1)
Avatar
František Pastorek:2.2.2015 19:10

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:2.2.2015 19:44

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
I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it ... Bill Gates
Avatar
František Pastorek:2.2.2015 19:50

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:2.2.2015 19:56

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

Nahoru Odpovědět 2.2.2015 19:56
I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it ... Bill Gates
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.