I think i have a timing issue. It perplexes me why. 

On the trigger of an event I call a function to update a value:

```
Private Sub t0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles t0.Click
    Input.ppProperty = "blank"
    UpdateRecord("Hey", Input.ppProperty)
    MsgBox(Input.ppProperty)
End Sub 

```

UpdateRecord() should update the property Input.ppProperty to the value "Hey". It does update it, but not until UpdateRecord() has finished. The code:

```
Sub UpdateRecord(ByVal updateValue As String, ByRef recordToUpdate As String)
    If recordToUpdate <> Nothing Then
        MsgBox(updateValue & " " & recordToUpdate & " " & Input.ppProperty)
    End If
    recordToUpdate = updateValue
    If recordToUpdate <> Nothing Then
        MsgBox(updateValue & " " & recordToUpdate & " " & Input.ppProperty)
    End If
End Sub

```

Output:

> 
> Hey Blank Blank 'initial values   
> 
>  Hey Hey Blank 'values at the end of the function   
> 
>  Hey 'value of property when function is finished   
> 
> 
> 
> 

What it seems like it should be is: 

Desired Output:

> 
> Hey Blank Blank 'initial values   
> 
>  Hey Hey Hey 'values at the end of the function   
> 
>  Hey 'value of property when function is finished   
> 
> 
> 
> 

Notice the difference, the property does not update until the function is completely finished. 
Why?

**EDIT:**
Also, how would I go about fixing this so it updates within the function?