codice:
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        Dim str As String
        str = TextBox1.Text
        If str.IndexOf("@") <> -1 Then
            MsgBox("cambio il valore")
            TextBox1.Text = Replace(TextBox1.Text, "@", "_")
            TextBox1.SelectionStart = TextBox1.TextLength
        End If
End Sub
Impossibile che non ti funziona, controlla bene !