AdorableVB
AdorableVB

Reputation: 1393

changing button's text after click vb.net

This is kinda simple, and really silly. but I can't see what I am missing..

    Private Sub btnmode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmode.Click
    If Me.btnmode.Text = "COMMAND MODE" Then
        Me.btnmode.Text = "DATA MODE"
        sPort.Write("$$$")
    End If
    If Me.btnmode.Text = "DATA MODE" Then
        Me.btnmode.Text = "COMMAND MODE"
        sPort.Write("$$$" & vbCr)
        sPort.Write("exit" & vbCr)
    End If

End Sub

enter image description here

with this code, I should be able to change its text after clicking. but why is it not? nothing is happening.

Upvotes: 0

Views: 14255

Answers (2)

coder
coder

Reputation: 13250

If Me.btnLoad.Text = "COMMAND MODE" Then
    Me.btnLoad.Text = "DATA MODE"
    sPort.Write("$$$")
ElseIf Me.btnLoad.Text = "DATA MODE" Then
    Me.btnLoad.Text = "COMMAND MODE"
    sPort.Write("$$$" & vbCr)
    sPort.Write("exit" & vbCr)
End If

Upvotes: 0

Rajaprabhu Aravindasamy
Rajaprabhu Aravindasamy

Reputation: 67187

Use a select case in this situation, It will be more readable.

select case ucase(Me.btnmode.Text)

case "COMMAND MODE"
    Me.btnmode.Text = "DATA MODE"
    sPort.Write("$$$")
case "DATA MODE"
    Me.btnmode.Text = "COMMAND MODE"
    sPort.Write("$$$" & vbCr)
    sPort.Write("exit" & vbCr)

End Select

Problems found in your code:

    If Me.btnmode.Text = "COMMAND MODE" Then
        Me.btnmode.Text = "DATA MODE" '--------> Text been set as DATA MODE
        sPort.Write("$$$")            '    |
    End If                            '    |
                                      '    |
   If Me.btnmode.Text = "DATA MODE" Then ' ---------> Here again                                       
       Me.btnmode.Text = "COMMAND MODE"  '    you are checking the Text with 
       sPort.Write("$$$" & vbCr)         '    DATA MODE and you are assigning
       sPort.Write("exit" & vbCr)        '    the text back to COMMAND MODE
   End If  

So i guess initially your button's text is set with "COMMAND MODE". As a result, your button's text is refusing to revert back.

Upvotes: 1

Related Questions