Funkce přímo v SUB   zodpovězená otázka

VB.NET

Dobrý večer,

mám checkBox který při zatrhnutí/"odtrhnutí" plní pouze jedinou funkci a to tu, že dateTimePicker je enabled/disabled.

Nechci kvůli tomu vytvářet další SUB, anobrž bych to chtěl udělat přímo na místě.

Tzn.:

' nechci, to umim
AddHandler myChck.CheckStateChanged,AddressOf changeEnabled

Něco jako

AddHandler myChck.checked ->myDateTP.enabled=false

AddHandler myChck.Unchecked ->myDateTP.enabled=true

Jde něco takového vyrobit?

Díky předem,

PetrS

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

Šlo by to udělat pomocí data bindingu, ale je to nesmysl, protože ten data binding musíte stejně definovat v nějaké metodě (např. konstruktor) a navíc to potom bude nepřehledné.

Public Class Form1
  Public Sub New()
    InitializeComponent()
    DateTimePicker1.DataBindings.Add("Enabled", CheckBox1, "Checked")
  End Sub
End Class

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

Pokud máte Visual Basic 2010, tam to půjde hezky:

AddHandler myChck.CheckStateChanged, Sub(sender As Object, e As EventArgs)
                                         'kód
                                     End Sub
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Takže ve VB 10.0 už není nutné dělat _ pro rozdělení řádku? Bylo na čase.

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

Hezky pěkně,

aspoň už to nebudu muset hledat a zredukuju počet procedur na stovky. :)

Děkuji pěkně,

PetrS

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

Jenom bych poznamenal, že výše uvedené řešení je to samé jako vaše řešení, tedy přiřazení obslužné metody události. Takže další metoda tam samozřejmě bude. Jediné řešení bez obslužné metody je ten data binding.

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

Děkuju za obě poskytnutá řešení.

PetrS

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