PHP týden První novoroční výprodej
80 % bodů zdarma díky akci Black Friday!
Pouze tento týden sleva až 80 % na e-learning týkající se PHP

Diskuze: button a ovládání pozadí

Aktivity (4)
Avatar
FicaV
Člen
Avatar
FicaV:26.9.2019 10:09

Mám prázdný Windows Form a přidám do něj PictureBox, se kterým pomocí šipek libovolně pohybuji. Vše funguje. Pak ale přidám Button. Když form spustím, tak ovládání šipek nefunguje, ale button je funkční. Nechci nastavovat button.enabled =false. Můžete mi prosím poradit, tak zachovat možnost stisku button a zároveň ovládat PictureBox na pozadí? Asi to bude blbost, ale nevím si rady. Moc děkuji.

 
Odpovědět
26.9.2019 10:09
Avatar
Odpovídá na FicaV
Michal Štěpánek:26.9.2019 11:23

Chtělo by to nějaký kód, kterým to ovládáš. Z toho, co jsi napsal těžko někdo pochopí, proč to funguje jinak, než bys chtěl...

Nahoru Odpovědět
26.9.2019 11:23
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
FicaV
Člen
Avatar
FicaV:26.9.2019 11:53

Kód, kterým ovládám zmíněný PictureBox vůbec nemá na můj dotaz vliv. Jde o to, aby nebyl zvýrazněný (označený, aktivní, modře orámovaný nebo nevím jak to popsat jinak) ten Button a fungovalo vše šipkami jako bez něj.

 
Nahoru Odpovědět
26.9.2019 11:53
Avatar
Jaroslav Smrž
Redaktor
Avatar
Odpovídá na FicaV
Jaroslav Smrž:26.9.2019 12:36

Tak kód na to má vliv zcela určitě, když to nefunguje. Bez kódu ti asi nikdo nepomůžeme.

Nahoru Odpovědět
26.9.2019 12:36
/* Life runs on code */
Naši partneři možná hledají právě tebe!
Avatar
DarkCoder
Člen
Avatar
Odpovídá na FicaV
DarkCoder:26.9.2019 13:31

Vše záleží na tom jaký objekt má právě focus a ve které události toho kterého objektu máš vložen kód provádějící posun PictureBoxu. Proto na tebe ostatní správně apelovali abys přiložil kód. Já ho nepotřebuji, napíšu Ti to obecně. Když spouštíš aplikaci, měj nastaven focus na formulář a kód posunu PictureBoxu měj v události stisku klávesy pro formulář.

Nahoru Odpovědět
26.9.2019 13:31
"„Učíš-li se proto, aby sis zapamatoval, zapomeneš. Učíš-li se proto, abys porozuměl, zapamatuješ si."
Avatar
HONZ4
Člen
Avatar
Odpovídá na FicaV
HONZ4:26.9.2019 19:43

Jak už Ti tu píšou, problém je v tom, že Button získá Focus. Takže problém nastane pokaždé, když na form umístíš cokoliv co může, získat Focus.

Můžeš to vyřešit např. takto:

/// <summary>
    /// po kompilaci se ti tento button objeví v seznamu kontrolek, ten pak použij místo buttonu co tam máš
    /// </summary>
    public class NoFocusButton : Button
    {
        public NoFocusButton()
        {
            SetStyle(ControlStyles.Selectable, false);
        }
    }
Editováno 26.9.2019 19:46
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
26.9.2019 19:43
Avatar
FicaV
Člen
Avatar
Odpovídá na HONZ4
FicaV:26.9.2019 20:22

Super, funguje, mockrát děkuji!

 
Nahoru Odpovědět
26.9.2019 20:22
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 7 zpráv z 7.