Es gribu parādīt vairākas lietas, ar šo piemēru ... bet galvenais ir, kā pievienot notikumus grupai kontroles pie Runtime Visual Basic. Net.
Piemēram mums ir nepieciešama forma ar daudzām vadības textbox (savstarpēji vienalga, cik viņi sauc). Jūs varat darīt kaut ko līdzīgu, ko es darīju.

Katru reizi no Visual Studio projektētājs dod jums divreiz uzklikšķiniet kontrole tiek izveidots apakšpasākums rutīnas, kas būs atbildīga par notikumu. Ja tekstlodziņa nepildīšanu pret TextChanged notikuma un Visual Studio dizaineru radīs subroutine sauc TextBox1_TextChanged bet patiesībā vārds nav svarīgs, mēs varētu mainīt to, un nekas varētu notikt. Svarīgi ir tas, kas beigās līnijas: "Rokturi TextBox1.TextChanged". Tas liecina, ka regulāra "pārvaldīt" uz TextBox1.TextChanged notikumu.
Mēs varam piešķirt šos "manipulatori" pie palaist laikā un, kā šajā piemērā, mēs varam darīt, izmantojot to pašu funkciju vairākām kontroles.
Sintakse, lai ievadītu citu kādu apdarinātājs ir:
AddHandler Objeto.Evento, AddressOf MiRutina
un noņemt apdarinātājs:
RemoveHandler Objeto.Evento, AddressOf MiRutina
Veramos tagad piemērs attiecīgais: Šajā piemērā, kas ir arem pievienot divus notikumus katram textbox kontroli, kas mums ir uz veidlapas. Šie notikumi tiks GotFocus (kas notiek, ja pārbaudē ņem fokusu) un LostFocus (kas notiek, ja kontrole zaudē fokusu). Kad kontrole ir uzmanības centrā ir mainīt fona krāsu, šajā gadījumā dzeltena. Un, kad jūs zaudējat jūs atgriezties normālā krāsā.
Pirmā lieta ir pievienot arem šīs divas kārtība.
ConFoco Private Sub (ByVal sūtītājs Kā Object, ByVal e As System.EventArgs) DirectCast (sūtītājs, Tekstlodziņš). BackColor = Color.Yellow End Sub SinFoco Private Sub (ByVal sūtītājs Kā Object, ByVal e As System.EventArgs) DirectCast (sūtītājs, Tekstlodziņš). BackColor = Color.White End Sub
Parasti, mums ir divas rutīnu, bet tomēr ... neviens aicina tos. Tādēļ mums ir vajadzīgs, lai pievienotu katru kontroles textbox uz veidlapas, lai piezvanītu pārkraušanas funkcijas preces.
Pēc formas Load gadījumā pievienot šādu kodu:
Katrai C, kā objekta Me.Controls Ja c.GetType Vai GetType (Tekstlodziņš) Tad AddHandler DirectCast (c, Tekstlodziņš). GotFocus, AddressOf conFoco AddHandler DirectCast (c, Tekstlodziņš). LostFocus, AddressOf sinFoco Beigas Ja Nākamais
Un Presto, mēs varam pārbaudīt programmu un nav nepieciešams kaut kas cits. Visi textbox mainīt fona krāsu, lai ņemtu fokusu. Nav svarīgi, cik daudz ir vai kāds viņi sauc.
attēlā zemāk ir darbojas forma: 
Es domāju, ka tas ir vērts izskaidrot mazliet par pēdējo kodu.
Par katru uz visiem braucieniem
Informācija Bitacoras.com ...
Līmenis Bitacoras.com: Es gribu, lai parādītu vairākas lietas ar šo piemēru? bet galvenais ir, kā pievienot notikumus grupai kontroles pie Runtime Visual Basic. net. Piemēram mums ir nepieciešama forma ar daudzām kontroles ....
Paldies! Kods tīru, vienkāršu un funkcionālu. Tu esi parādība. Es kontroles bloki, kas VB6 par šīm lietām (piemēram, garām ...), bet ar to maz triks ir eleganti atrisināta.
Paldies par šo lielisko ieguldījumu, man ir izstrādātas VB6 jau 8 gadus un nav atrasts veids, kā darīt. Net, ko viņš pieļāvis VB6 ar Array kontroles, piemēram, rakstot par vienu notikumu visiem TexBox formas un identificēt katrs pa pie indeksa. Ar jūsu atbalstu Gan pārvarēja šo problēmu. PALDIES
Hello, ļoti labs izskaidrojums. AddHandler Es domāju kādu interesantu rīku, bet man ir jautājums par to. Es izmantot to ASP.NET un tas darbojas lieliski, es pievienot notikumus dinamiski saites žanru, bet darbojas tikai tad, ja addHandler atrodas slodzes. Vai ir kāds veids, ka tas darbojas ne atrašanos Load?
Paldies par visu
super laba šis kods ietaupa daudz līnijas, un laiku.
Jūs varat darīt, kaut ko līdzīgu, bet, lai apstiprinātu taustiņa tikai ar numuriem utt, bet kaut kā identificēt katru textbox zināt, kas jāpiemēro formatējumu vai ka ir jābūt tikai skaitļi, teksts utt. Es ceru, ka man ir devuši savu punktu.
Es domāju, ja jūs apvienot to, ko viņi mācās šajā rakstā plus divi no šīs saites, jūs varat darīt to.
http://www.solovb.net/index.php/2009/01/25/textbox-solo-numeros-validacion/~~V
http://www.solovb.net/index.php/2009/02/23/textbox-solo-letras-validacion/~~V
Veiksmi.
Man ir funkcija nedaudz līdzīgi tiem, jūs pieminēt, bet, kad mēģinu agregarselas šajā taustiņa ja nav man pateikt jums nav pats paraksts
Sveiki, Man patīk jūsu vietni un apbrīnot jūsu centību šajā amatā. Es šobrīd studē universitātē un palīdz.
Sveicieni!
Sveiki labs kods, bet es esmu piesakās citu vadīklu un citu notikumu, un kad tas notiek, ka, ja es saku:
AddHandler miObjeto.evento, AddressOf miRutina
man saka, ka metode "mirutina" ir tāda pati paraksts kā delegāts.
Jūsu piemērā jūs dont jūs atsūtīt parametrus delegātu un strādāt ar jums, kas varētu būt noticis ar mani?
Paldies jau iepriekš par jūsu palīdzību ..
Tā ir taisnība, es sūtu parametrus, jo tie ir jāsūta kaut (tie tiek nosūtīti kontrolei, kas izraisīja šo notikumu), bet ir jādefinē procedūra zvanu. Piemēram: Private Sub MiRutina (ByVal sūtītājs Kā Object, ByVal e As System.EventArgs).
Laime
Sveiki, šis ir labs piemērs lietošanas AddHandler un pievienot vadīklas veidlapā.
Tāpēc es gribu palīdzēt savu artavu, pievienojot kodu, lai pievienotu notikumu kontrolei izveidotas runtime.
Sveiciens.
----------------
PulsadoDobleClick Private Sub (ByVal sūtītājs Kā Object, ByVal e As System.EventArgs)
MsgBox ("Jūs nospiedāt Double Click")
End Sub
Private Sub Form1_Load (ByVal sender Kas System.Object, ByVal e As System.EventArgs) Rokturi MyBase.Load
Kā New Tekstlodziņš Dim MiCajaDeTexto ()
MiCajaDeTexto.Name = "CajaDeTexto"
Me.Controls.Add (MiCajaDeTexto)
AddHandler Me.Controls panta MiCajaDeTexto.Name). DoubleClick, AddressOf Me.PulsadoDobleClick
End Sub
Paldies par jūsu palīdzību, es atnesu no nepatikšanām. Es nāku no VB6 un ir ļoti atšķirīgs, es izlasīju kaut kur, ka Microsoft plāno iekļaut jaunus bloki no kontroles to jaunas versijas NET, tāpat viņi rīkojās VB6. Kas atvieglos dzīvi tiem no mums, no vecās VB6.
Lielisks, es tikai pievienot komentāru iespēja uzdot funkciju, kas ir parametrus.
Lieliska gaita un lieliska palīdzība tiem, kas joprojām migrē no VB6 uz Net. Paldies
"** Izmantojiet tikai lasāms īpašumu rediģēt textbox konkrētā GrupasRāmis **"
Piemēram manā projektā:
Private Sub Form1_Load (ByVal sender Kas System.Object, ByVal e As System.EventArgs) Rokturi MyBase.Load
"Atrast textbox ar GrupasRāmis
Katrai C, kā kontroles In Me.grpDatosPasajero.Controls
Ja c.GetType Vai GetType (Tekstlodziņš) Tad
AddHandler DirectCast (c, Tekstlodziņš). Enter, AddressOf conFoco
AddHandler DirectCast (c, Tekstlodziņš). Atstājiet, AddressOf sinFoco
Beigas Ja
Nākamais
End Sub
"Kārtība
ConFoco Private Sub (ByVal sūtītājs Kā Object, ByVal e As System.EventArgs)
Ja nav DirectCast (sūtītājs, Tekstlodziņš). Tikai lasāms tam
DirectCast (sūtītājs, Tekstlodziņš). BackColor = Color.PaleGoldenrod
Beigas Ja
End Sub
SinFoco Private Sub (ByVal sūtītājs Kā Object, ByVal e As System.EventArgs)
Ja nav DirectCast (sūtītājs, Tekstlodziņš). Tikai lasāms tam
DirectCast (sūtītājs, Tekstlodziņš). BackColor = Color.White
Beigas Ja
End Sub
wav
Exelentes kodi jejej draugi man ir uzņemt. garacias savlaicīgi. Sveicieni visiem
Es piekrītu šo kodu relize ar palīdzību viņa piezīmes, tas palīdzētu man izveidot visas pogas jums ir nepieciešams, un nosūtīt uz funkciju ar nosacījumiem, kas pievienoti presēta pogu, gaisma no viena notikuma
Valsts klases Form1
Dim lbls () Kā Button
Private Sub Form1_Load (ByVal sender Kas System.Object, ByVal e As System.EventArgs) Rokturi MyBase.Load
Dim loc Kā Vesels skaitlis = 25
Par M, kā Integer = 0 līdz 4
ReDim Preserve lbls (m)
lbls (m) = Jauna poga
Ar lbls (m)
. Teksts = ("Pogas" un m)
. Vieta = jauns punkts (0, loc)
. Izmērs () = Jauns System.Drawing.Size (75, 23)
Beidzas ar
lbls (m). Name = m
Me.Controls.Add (lbls (m))
AddHandler Me.Controls panta lbls (m). Nosaukums). Noklikšķiniet, AddressOf Me.Click
loc + = 25
Nākamais
End Sub
Private Sub Noklikšķiniet (ByVal sūtītājs Kā Object, ByVal e As System.EventArgs)
Dim j Kā Button = sūtītājam
MsgBox ("Jūs nospiedis pogu" & j.Name)
End Sub
Beigas klase
Es ceru un būs daži
Es gribu izveidot TabPage un šajā runtime DataGridView, un q arī pievienot šo kontroli projektēšanas laikā, ja kāds zina, kā to izdarīt, es appreciate your help.
Es gribu izveidot TabPage un šajā DataGridView runtime, un arī pievienot šīs vadīklas ekrāna basic.net vizuālā noformējuma, ja kāds zina, kā to izdarīt, es appreciate your help.
Holas! visi! kas notiek šeit ir tas, ka īpašums sniegt visu textbox ar:
Katrai C, kā objekta Me.Controls
bet, ja kiero dot izņēmumus atsevišķiem kontroles kā man darīt ... piemēram, ar pogu kiero aizpildīt manu formu ar dažiem piezīmju txtbox studentiem, bet ir citi txtbox piemēram, kods, nosauciet piezīmes pēc vidēji kiero utlizo
Dim sum (n) Kā Double
Dim c kā kontroles
Katrai C Me.Controls
Ja typeof c ir Tekstlodziņš Tad
Summa (Val (c.Tag)) + = Val (c.Text)
Beigas Ja
Nākamais
Katrai C Me.Controls
Dim i kā Integer
Ja typeof c ir etiķete tam
Ja c.Tag> = 0 Pēc tam
Ja Val (c.Tag) = i tam
c.Text = Sum (i) / Val (txtnn.Text)
i + = 1
Beigas Ja
Beigas Ja
Beigas Ja
bet es visu un vidējo txtbox iet greizi
pepelepu, mēģiniet exluir šādi:
...
Katrai C Me.Controls
atlasīt gadījumu c.Name
"Kontrolē, lai izslēgtu
gadījums "nameControl1" "nameControl2" "nameControl3"
cilpa
cits gadījums
"Es kontrolēt kontroli
Summa (Val (c.Tag)) + = Val (c.Text)
galu izvēlieties
nākamais
Sveicieni, ļoti interesanta kods.
Man ir jautājums jums, man ir izstrādājusi MenuStrip kas rakstīts preces no datubāzes, ne ka es pat nevaru piešķirt apdarinātājs ir vai notikuma procedūru katram elementam MenuStrip kontroles vai ielādēšanas nosaukumus DB procedūrā labi, daži sugenrencia? Kā piemēru es izmantoju failu, var tikt atrasta subs url: http://www.dotnethelp.co.uk/es/vb/108413/menu_strip_vbnet~~HEAD=dobj
Paldies par ieteikumiem
Man bija traks, jo nevar atlaist notikumus līdz starp šeit un izlasīt
"Pēc formas Load gadījumā pievienot šādu kodu:"
Es tikai trūkst to, dažreiz es pazust lietas skaidrs, paldies xD
Es tikko sāku ar notikumiem un apstrādes, un es domāju, ka tas ir sarežģīts (priekš manis), bet labi, ka cilvēki, kas veicina zināšanas, lai mums, kas principiamos ... paldies Elīsa un visi, kas ir iekļautas viņu mazliet.
Sveicieni!
Es esmu jauns, lai šo un man šķiet interesanti un ļoti labs jūsu piemērs, kā varētu iet sabiedrībai un varēs zvanīt no jebkuras formas ... paldies
dzirdēt jautājumu nav, ja es varētu palīdzēt.
Man ir jādara programmu, lai kontrolētu spēli ar kustību taustiņiem un es gribētu zināt, kā piešķirt atslēgas pogām, kas likts, no augšas uz leju, pa kreisi, pa labi un kad nospiežat pogu nospiestu darīt simulācija.
Dārgais, vaicājumu, kā es varu nodot parametrus funkcijai, kuru norādīts addessOf, funkcija ir parametriem (IDBOTON), un katrai pogai ka es radītu es meklēt BD ar IDBOTON informāciju.
Liels paldies par jūsu palīdzību.
Es uzzināju šo ne tik sen (1 diena) lol, bet tas šķiet sarežģīti ir ļoti viegli, pat izsauktu funkciju klāstu no A SQLCE sveicieniem!
Hello, ļoti interesanti, es vēlos viņiem varētu man pastāstīt, kā piemērot šo kodu, lai pievienotu notikumus runtime in C #.
Paldies, arī ir pievienot Click notikumu par picturebox es izveidota runtime.
Paldies
Ļoti vienkāršs, bet ļoti praktisks. Ļoti pateicos
Sveiki, lielisks. Man ir jautājums, šis kods strādā par pārbaudēm, kas ir tieši laiž formu. Bet lai tā darbotos konteineriem bez iemetot veidlapas Load kodu par katru konteineru?
Jūs varat izveidot rekursīvo funkciju, kas pārbauda, ja kontrole sauc atkal.
Tad es varu atstāt jums piemēru un es vēlos paskaidrot, ka man nav testēti laika trūkuma dēļ, bet gribēju tev atbildēt, jo es atstāju jūs šeit.
Izmantot to kā pamatu savu funkciju. Veiksmi.
Private Sub Form1_Load (ByVal sūtītājs Kā Object, ByVal e As System.EventArgs) Rokturi Me.Load
recorrerContenedores (es)
End Sub
Sub recorrerContenedores (ByVal c Kā Control)
Ja c.Controls.Count> 0 Tad
recorrerContenedores (c)
Cits
'Pievienot rokturi
Beigas Ja
End Sub
Hello Dear, es gribēju zināt, ja es garām daļu dokumentu, jo galu galā, kamēr es lasīju, šķiet, jūs gatavojas izskaidrot mazliet kodu un ir kaut kas līdzīgs šim:
Es domāju, ka tas ir vērts izskaidrot mazliet par pēdējo kodu.
Par katru uz visiem braucieniem ...
Missing something? jūs varētu pabeigt to, ja tā? Paldies un apsveikt jūs par ieguldījumu jūs veicat, lai kopienas VB
sveiki estubo buenaso ka, bet man ir problēma, ja tu saproti, jūsu projekts darbojas, lai ielādētu formu .... Nu mana problēma ir Es nevēlos, lai man kiero ka nospiežot manu add pogu nesen viņa sāk darboties kā zaudēja un ieguva uzmanību ar katru textbox .. man palīdzēt šajā malks porfa reponde Jo ātrāk paldies ...
saludosss ....
Ne vienmēr addHandler jābūt slodzes ... varat likt to, kur jūs vēlaties. Bez tam jūs varat izmantot (ja nepieciešams) ar RemoveHandler paziņojumu par asociācijas notikuma kontroles.
Wooow! Šis piemērs man ir neatsverama palīdzība, es pateicos jums, tiešām. Bet protams es nevaru ^ ^ Greetings!