Diskuze: c# WPF - více oken, jedno 'tlačítko okna' na hlavním panelu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
jak zařídit, aby vždy to poslední otevřené okno (MessageBox) bylo aktivní a ostatní (tedy nadřízená okna) nikoliv?
zařizovat to nemusíš nijak - takto to funguje automaticky u dialogových oken - jako je třeba MessageBox, OpenFileDialog apod.
stejně tak, když otevřeš nové Window příkazem ShowDialog();
Jedna poznámka - nejen k autorovi vlákna.
Poslední dobou se tu čím dál častěji objevují dotazy k WF, WPF
aplikacím, kde se otvírá spousta nových oken - formulářů .
Dokonce takové nesmysly , že z prvního okna se otvírá druhé, z něj
třetí, z něj čtvrté........... (jako programátorská etuda dobré, ale v
praxi velmi špatné řešení)
Na to vymysleli vývojáři šikovnou věcičku a jmenuje se TabControl
V dobře navržené aplikaci se otvírá vždy jen jedno další okno - a to
dialogové - provést akci a zpět do hlavního okna.
Pak se taky samozřejmě nemůže stát, že se zaplní panel ikonama.
To že nám .Net umožňuje "škrábat se levou rukou za pravým uchem" neznamená, že bysme neměli používat nejjednodušší možné postupy.
ostrozan - TabControl tam mám celkově 7 používám. Nejvyšší počet
otevřených oken na sobě jsou tři, což je o jedno více než píšeš, tak
to snad není o tolik více. Samozřejmě jsem se to snažil těmi TabControly
omezit, ale na dvě okna to nedám
A i ty dvě okna vedle sebe se mi nelíbí.
Ohledně aktivních oken -> mi se právě občas stalo, že i to spodní bylo
aktivní, aniž bych to speciálně vyžadoval. Ta otázka tedy mohla být
napsána přesněji - (jak) je možné, aby bylo spodní okno aktivní i při
otevřeném vyskakovacím ('druheOkno.ShowDialog()')?
TabControl tam mám celkově 7 používám. Nejvyšší počet otevřených oken na sobě jsou tři, což je o jedno více než píšeš
tak to z dotazu nebylo zřejmé - ten spíš budil dojem, že otvíráš tolik oken, že se ti ikony na panel ani nevlezou
a k té otázce - možné by to (v ideálním případě ) být nemělo - pokud ho neotvíráš jako druheOkno.Show()
Zobrazeno 5 zpráv z 5.