přidání komponent na formulář ve VB.NET   zodpovězená otázka

VB.NET, WinForms

Dobrý den,

chtěl jsem se zeptat: chtěl jsem si vytvořit aplikaci, ve které by se daly přidávat komponenty na formulář pomocí tlačítka a něják nevím jak tu komponentu vytvořit, natož ještě určit její polohu na formuláři. Pokud budete někdo vědět jak na to, tak budu rád za každou radu nebo pomoc.

J.H.

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

Přidávat komponenty za běhu není až tak složité, jak by se mohlo zdát, jen je třeba vědět jaké komponenty a co má být výsledkem...

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

výsledkem by měla být např. dvě tlačítka,která na formulář přidám jiný třetím tlačítkem.pokud byste mi byl ochotny naznačit v kodu tuto záležitost,tak se mi to bude hodit. J.H.

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

Začal bych prohledáním relevantních článků ve znalostní bázi, narazil bych na hned první: https://support.microsoft.com/EN-US/kb/3..., ten bych si prostudoval a pak bych se zeptal na to, co by mi nebylo jasné. Takhle bych na to šel já.

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

já nespeakuju dobře anglicky. ;) pokud znáte nějáký podobný článek v čj tak bych vám byl vděčný. Ale i tak děkuju za ochotu J.H.

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

Zdravím,

já osobně bych to řešil tak, že bych si tlačítko přidal již při návrhu aplikace a skryl bych ho změnou vlastnosti VISIBLE=False a v případě požadavku toto tlačítko opět zviditelnit, tak mu dát opět True.

Pokud ale trváte na přidávání tlačítka za běhu aplikace, tak musíte vytvořit nový objekt.

Dim novetlacitko As New Button 'založte nový objekt
        With novetlacitko 'nastavte mu vlastnosti
            .Visible = True  'nastavení viditelnosti nového tlačítka
            .Location = New Drawing.Size(10, 20)  'tímto nastavíte umístění tlačítka na formuláři
            .Size = New Drawing.Size(100, 20)   'velikost tlačítka
            .Text = "Nove"  'text který bude na tlačítku zobrazen
        End With
Me.Controls.Add(novetlacitko) 'přidá tlačítko do skupiny Controls a zobrazí je na formuláři
AddHandler novetlacitko.Click, New EventHandler(AddressOf novetlacitko_Click)  'nastaví událost pro kliknutí myší na Vaše nové tlačítko

Vlastností si můžete nastavit kolik budete chtít. Dal jsem jich pár jen jako příklad.

Potom nastavte událost kliknutí na tlačítko

Private Sub novetlacitko_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  MsgBox("BAF", MsgBoxStyle.Information, ":-)")
End Sub

POZOR! na řádek události (Private Sub novetlacitko_Click ...). Je malinko jiný než u klasického objektu !!!

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

Na tohle nepotřebujete umět anglicky:

'Add controls to the form.
With Me.Controls
    .Add(btnAdd)
    .Add(txtBox)
    .Add(lstBox)
    .Add(chkBox)
    .Add(lblCount)
End With

Ani na to, co radil Pavel Hlávka:

Me.Controls.Add(novetlacitko) 'přidá tlačítko do skupiny Controls a zobrazí je na formuláři

(jde mimochodem o úplně stejný zápis kódu, takže na tom asi něco bude). Stačí to jen vyzkoušet.

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

Děkuji všem mnohokrát. Opravdu mi to pomohlo.

J.H.

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