Avatar billede vips Nybegynder
22. september 2005 - 22:42 Der er 4 kommentarer

Button, flere med næsten samme kode

Hej
jeg har 10 buttons på en form, hvor en værdi er den eneste forskel på koden for hver knap
Private Sub CmdOutOff1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdOutOff1.Click
kommando = "I" & Chr(CInt("&H" & "51")) & Chr(&HF)
End Sub
værdien 51 for button1, 52 for 2 osv
I VB6.0 var en mulighed for index, hvordan laves deti VB.net ?
jeg programmerer til compact framework.
mvh Viggo
Avatar billede arne_v Ekspert
22. september 2005 - 22:47 #1
Du kan godt lave arrays af controls som f.eks. button
Avatar billede januskh Nybegynder
23. september 2005 - 21:59 #2
Jeg tror at jeg har let løsning:

Tilføj nogle yderligere "Handles" på din click rutine.

  Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click
    Select Case sender.name
      Case Button1.Name
        ' Udfør kode ...
      Case Button2.Name
        ' Udfør kode ...
      Case Button3.Name
        ' Udfør kode ...
      Case Button4.Name
        ' Udfør kode ...
    End Select
  End Sub

-------------------------------

En anden og mere dynamisk måde at gøre det på er du tilføjer dine "Handles" runtime.

Feks:

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    AddHandler Button1.Click, AddressOf Button_Click
    AddHandler Button2.Click, AddressOf Button_Click
    AddHandler Button3.Click, AddressOf Button_Click
    AddHandler Button4.Click, AddressOf Button_Click
  End Sub

  Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Select Case sender.name
      Case Button1.Name
        ' Udfør kode ...
      Case Button2.Name
        ' Udfør kode ...
      Case Button3.Name
        ' Udfør kode ...
      Case Button4.Name
        ' Udfør kode ...
    End Select
  End Sub

MVH Januskh
Avatar billede vips Nybegynder
26. september 2005 - 10:49 #3
jeg har prøvet det øverste løsnings forslag, det virker fint i .NET Frameworked, men ikke i Compact Frameworket som jeg anvender.

sender.name er ikke kendt, hvad kan det skyldes ?

MVH Viggo
Avatar billede januskh Nybegynder
01. september 2012 - 17:15 #4
Skal dette spørgsmål ikke lukkes?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester