Funkce click na generovaném buttonu   zodpovězená otázka

VB.NET, WinForms

(VB2010)

Ahoj potrebuju poradit.

Generuju do formuláře button:

        Dim btn As New Dictionary(Of String, Button)
        Dim newbtn = New Button()

        Dim tlacid As String

        tlacid = "tl1-52144"

        newbtn.Name = "plo1"
        newbtn.Text = "Tlačítko 1"
        newbtn.BackColor = Color.FromArgb(255,   System.Drawing.ColorTranslator.FromHtml("#ffDDe9"))
        newbtn.Top = 1
        newbtn.Left = 10
        newbtn.Height = 20
        newbtn.Width = 100

        btn(tlacid) = newbtn

        Me.Controls.Add(btn(tlacid))

Těch tlačítek bude bezpočet. Jak udělám funkci aby třeba po kliknutí se změnila barva pozadí ? Pripomínám že dopředu nevím jak se bude tlačítko jmenovat a jake bude mít id.

nahlásit spamnahlásit spam 2 / 4 odpovědětodpovědět

Dobrý den,

nejdřív si vytvoříte proceduru, která bude reagovat na událost tlačítka (např. click)

Private Sub Click_MyBtn(ByVal sender As System.Object, ByVal e As System.EventArgs)

'takto získáte instanci tlačítka, které vyvolalo událost
Dim tmpButton As Button = CType(sender, Button)

End Sub

A pak pomocí AddHandler řeknete tlačítku (třeba před řádkem Me.Controls.Add(btn(tlacid))) , že při události Click se má spustit právě tato událost:

'přidání handleru
AddHandler newbtn.Click, AddressOf Me.Click_MyBtn

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