webForumDet fria alternativet

anropa "void" funktion?

.NETur .NET

4 svar · 202 visningar · startad av CokeLight

CokeLightMedlem sedan juni 2000504 inlägg
#1

Hejsan,

Jag vill anropa en sub, för att bara skriva ut nåt, men alla subs verkar ju kräva att man default måste skicka med obj o eventargs...? (är inte alls hemma på detta :)

ex, jag skulle vilja göra som nedan, det går ju inte då getButtonText() ju kräver två argument...? Vad ska man skicka med eller finns det andra sätt?

    Private Sub getButtonText(ByVal obj As Object, ByVal e As EventArgs)
        lblButton.Text = "You clicked " & obj.Text
    End Sub

    Private Sub btnLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLeft.Click
        getButtonText()
    End Sub
Mc FettoMedlem sedan nov. 20022 355 inlägg
#2

Du kan göra om din första sub till följande:

    Private Sub getButtonText()
        lblButton.Text = "You clicked " & obj.Text
    End Sub

Då detta är en sub som du själv har gjort. Den andra sub:en tar två argument med sig automatiskt när du klickar på knappen!

CokeLightMedlem sedan juni 2000504 inlägg
#3

hehe, aha.. var det okay att göra så.. trodde man var tvungen att alltid ha dessa som default explicit.. tackar :)

hmm.. fast när jag har två knappar (btnLeft, btnRight) som anropar getButtonText, så får jag att

Name 'obj' is not declared

så hur skickar jag med det egna objktet till getButtonText() från btnLeft_Click() , ex

    Private Sub getButtonText(ByVal obj As Object)
        lblButton.Text = "You clicked " & obj.Text
    End Sub

    Private Sub btnLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLeft.Click
        getButtonText(//typ this eller me eller nåt sånt..?)
    End Sub
Mc FettoMedlem sedan nov. 20022 355 inlägg
#4

Jag är kanske inte rätt person att svara på denna fråga. Men ngt sådant:

    Private Sub getButtonText(ByVal obj As Object)
        lblButton.Text = "You clicked " & obj.Text
    End Sub

    Private Sub btnLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLeft.Click
        getButtonText(sender)
    End Sub
CokeLightMedlem sedan juni 2000504 inlägg
#5

ah, men super.. det funkar perfekt.. ! tack :) (har letat på google men hittade inget bra exempel)

139 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)