CTRL+D   otázka

VB.NET, VB6/VBA

Ahoj,

nejsem v VB.NET prilis zbehly a potreboval bych poradit..

ve VB6 slo kopirovat (CTRL+D) objekty (napr. 10x checkbox) a pak na ne pristupovat stejnym jmenem (chk_volba(0),chk_volba(1) atd..), jen se zmenou indexu.. melo to vyhodu v rychlosti psani a prehlednosti kodu..

jak na to ve VB.NET? nejak to nemuzu nikde najit..

diky

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

predpokladam, ze jako registrovanemu mi to napise mail, kdyz mi prijde odpoved :-)

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

Já si dám tu práci a zpočítám, kolikrát se tahle hovadina zde už řešila. Hrubým odhadem tak 20x.

Není to rychlejší a v žádném případě přehlednější, právě naopak to z kódu dělá nepřehledný marast. Díky bohu je tomu od VB7 konec.

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

ok, v tom pripade se omlouvam, bohuzel jsem to nenasel ani jednou - asi neumim hledat.. muzes si prosim dat jeste tu praci a poslat odkaz? nebo aspon klicove slovo, podle ktereho to najdu

me to prehlednejsi prijde a rozhodne to je rychlejsi nez to opisovat jedno po druhem.. ale to predpokladam neni ten spravny postup a na to se prave ptam..

tedy.. cim je to nahrazene?

diky

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

Přes index k jednotlivým komponentám přistupovat nejde, musíte přes jméno objektu. Pokud by jste potřeboval něco provádět s komponentama v cyklu, je potřeba projít kolekci Controls, kam se jednotlivé komponenty automaticky umisťují po přidání do formuláře. Každý vizuální prvek který umožňuje aby na něm byla umístěna vizuální komponenta tuto kolekci obsahuje (formlář, group box, panel) a jsou v ní všechny prvky. Pokud máte třeba formulář, na něm panel a v něm tlačítko, tak v Controls formuláře najdete ten panel a v controls panelu button.

Snad Vám to alespoň trochu pomohlo.

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

Děkuji za odpoveď..

trochu mě to nasměrovalo, ale bohužel musím konstatovat, že potřebuji nakopnout trochu více - ideálně nějaký příklad, ze kterého to odkoukám?

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

tak na zaklade vasi napovedy jsem neco vygooglil a nasledne vysmolil a funguje to.. :-)

hura a diky ;)

jen jeste jeden dotaz.. pokud si do napr. groupboxu naskladam komponenty uz pri navrhu, uklada se to nekam? resp. lze kolekci Controls prochazet a vycist z toho, ze treba ten jeden konkretni prvek je napr. item 5?

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

Ano, je to defacto pole objektů. Teď to píšu z hlavy, ale bude tam něco jako Controls.count (nebo Controls.Items.Count) které říká kolik vizuálních prvků je zde uloženo. Pokud použijete něco ve smyslu Controls.Item(5) dostanete se ke konkrétnímu prvku (pak můžete zjistit jeho název, typ, atd.)

Ty příkazy na procházení kolekce berte ale s rezervou, píšu to z hlavy, protože tu teď nemám VS. Ale takhle nějak by jste se na ty prvky měl dostat.

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

Dal jste si práci s počítáním a pak jen hrubě odhadujete. Proč? Kolik jste napočítal?

To špičkování mi, prosím, odpuste a neberte vážně. Dá se zde opravdu najít více způsobů, jak "VB6 hovadinu" nahradit, ale možná jsou to také "hovadiny". Co tedy je správně?

nahlásit spamnahlásit spam -1 / 1 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