Postato originariamente da Al1972:
ho 2 textbox
nella text1 ho dentro la frase pippo, e scrivando esempio p nella text2, vorrei che mi cancelli le p rimanendo con il risultato
io
insomma, vorrei rimuovere qualsiasi carattere nella text1 scrivendo il carattere da rimuovere nell'altra textbox
ho provato cosi ma nulla:
Dim TestString As String = TextBox1.Text
Dim aString As String = Replace(TestString, TextBox1.Text, TextBox2.Text)
Come ti dice Thejuster devi fare due cicli se devi rimuovere più lettere diverse, se invece come sembra vuoi scrivere una singola lettera su TextBox2 e quella singola lettera deve essere usata per rimuovere le corrispondenti lettere eventualmente presenti in TextBox1, l'approcio che hai usato è quasi esatto.
hai sbagliato il secondo e il terzo parametro in replace:
Dim TestString As String = TextBox1.Text
Dim aString As String = Replace(TestString, TextBox2.Text, "")
Cosa significa la seconda riga?
In aString ci finisce il testo in TestString con il carattere presente in TextBox2 sostituito (replace) da un carattere nullo "".
Queste due righe da sole non sono sufficienti per creare un programma funzionale, dovresti mettere il codice in una sub:
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
....
....
....
....
End Sub
Quando lanci il programma, scrivi un testo in TextBox1, poi appena scrivi un carattere in TextBox2 la sub
TextBox2_TextChanged viene eseguita, il carattere digitato eliminato da TestString, con il codice che ti ho corretto...
Mancano ancora due righe, una per copiare il risultato da aString in TextBox1, l'altra per cancellare il carattere appena immesso in TextBox2, così facendo ogni volta che digiti un carattere in TextBox2, se presente scompare dal testo in TextBox1 e la TextBox2 si cancella in modo da poter inserire un nuovo carattere.