Načítání "layoutu" z předpřipraveného souboru   otázka

C#, WinForms

Dobrý den,

je možné si předpřipravit v nějakém okně rozpoložení různých tlačítek a panelů a pak jej načítat do prázdného okna, následně toto také vypínat a načítat rozložení zase z jiných oken? Jde mi o to, aby se vše odehrávalo pouze v jednom okně.

Děkuji moc

nahlásit spamnahlásit spam 0 odpovědětodpovědět
dim constr as new stringbuilder
for each con as control in me.controls
constr.add(con.(position.xy))
next
my.setting.con = constr.tostring

opačne

dim con() as string = split(my.settings.con,vbcrlf)
for x = 0 to ubound(con)
me.control.add(con(x))
next

ktomu si možež napr. cez vbtab(position.xy & vbtab y& controlname) uložiť ďalšie vlastnosti tlačítok. napr cez typeof(con)uložiť typ.

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

Dobrý den, nejsem si jistý zda jsem pochopil co přesně tím myslíte. Zda chcete mít někde uložený volně editovatelný soubor (např. texťák) a mít možnost v něm dělat úpravy rozvržení aniž by jste musel znovu kompilovat Vaší aplikaci a nebo zda chcete mít pořádek v rámci projektu (tzn. nechcete mít celou aplikační logiku namáčknutou v jednom okně.

Pokud to je ten druhý případ, tak já na to používám userControls. Výhoda je v tom že v designéru připravíte nejen rozvržení, ale i celou logiku včetně napojení obslužných procedur na eventy atd. (pracuje se s tím hodně podobně jako s formulářem).

Pak stačí aby jste v okně ve kterém ho chcete zobrazit vytvořil novou instanci tohoto userControlu a přidal ho do formuláře. Když už nebude potřeba můžete ho odstranit a použít jiný. Je to poměrně elegantní řešení, protože máte od sebe oddělené jednotlivé logické celky (jednotlivé usercontroly) a v případě potřeby nějaké změny hned víte co kde upravit.

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