Vytvoření formu   otázka

Offtopic

Nešlel by vytvořit článek o tom, jak správně vytvořit design formu? Čeho se vyvarovat a na co si dát pozor. Jak správně použít TableLayoutPanel, vlastnosti Anchor, Dock apod. Poradit začátečníkům jak profíci řeší rozdílné DPI na různých počítačích...

Dále třeba jak vykreslovat grafiku do formu (něco jako tady: http://www.vbnet.cz/clanek--47-vb_net_od..., vytvoření průhledných Labelů (http://www.vbnet.cz/forum-tema--2092-pru... a jak vytvářet např. tlačítka kódem.

Děkuji :)

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Kdysi jsem rozepsal článek na téma tvorby uživatelského rozhraní, ale nevím, jestli se dostanu k tomu ho dokončit.

TableLayoutPanel, Anchor a Dock jsou tak primitivní věci, že na nich není vůbec co vysvětlovat, rovněž přidat tlačítko kódem je záležitost na tři řádky a obvykle to ani není potřeba.

Rozdílné DPI se v praxi vůbec neřeší, změna DPI nemá kromě velikosti písma (potenciálně přesahující text) na aplikaci žádný negativní vliv.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Právě ta změna DPI je kouzelná - jak sám správně říkáte, v praxi se neřeší, a právě proto pak se minimálně 50% aplikací rozpadne, texty přečnívají nebo jsou oříznuté atd.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ono by to udělat šlo, ale realizace by byla tak komplikovaná, že se na to každý vysere a spoléhá, že budou všichni používat výchozí nastavení DPI (což je v 99% případů pravda).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ve WinForms by se s tím opravdu nikomu nechtělo dělat.

Tohle mají vyřešené ve WPF, kde se na rozměry nikde nepoužívají pixely, ale DIP (device independent pixel), který je definován jako 1/96 palce. Tzn při standardní hodnotě DPI 96 platí 1 pixel = 1 DIP. A protože i velikosti písma jsou odvozené od palců, tak při změně DPI to všechno bude sedět a žádné texty nepřetékají.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Navíc je všechno vektorově vykreslované, ne bitmapově jako Windows Forms. Jedna z mála nesporných výhod WPF.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já jsem právě vytvořil program kde je vložen MediaPlayer, pod ním PictureBox a na něm Label, kterej je průhlednej. Nic složitýho. Na většině počítačů to fuguje, ale jakmile je jinačí DPI, tak PictureBox nejde vidět (je pod hranou okna) a Label se posune uplně někam mimo.

A teď, když má každej druhej 15' notebook s HD rozlišením, tak je DPI jiný a to je problém.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

http://www.vbnet.cz/clanek--200-navrh_uz...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback