alceus (Normal User)
Pro
Messaggi: 61
Iscritto: 11/06/2008
|
Ciao, in una form ho un CommandButton e due TextBox di cui Text1 con proprietà Multiline impostata a True e Text2 con proprietà Multiline impostata a False.
È possibile traspostare soltanto la prima riga della Text1 nella Text2 cliccando sul CommandButton?
Grazie in anticipo
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Codice sorgente - presumibilmente VB.NET |
Private Sub Command1_Click() Dim i As Integer i = InStr(1, Text1.Text, vbCrLf) If i > 0 Then Text1.SelStart = 0 Text1.SelLength = i - 1 Text2.Text = Text1.SelText End If End Sub
|
|
|
alceus (Normal User)
Pro
Messaggi: 61
Iscritto: 11/06/2008
|
Ok grazie!
Un'ultima cosa: con il codice che hai postato tu, semplicemente copio la prima riga. Esiste un modo per cancellarla dal text1 una volta copiata nella text2?
|
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
Codice sorgente - presumibilmente VB.NET |
Private Sub Command1_Click() Dim i As Integer i = InStr(1, Text1.Text, vbCrLf) If i > 0 Then Text1.SelStart = 0 Text1.SelLength = i - 1 Text2.Text = Text1.SelText [b]Text1.SelText=""[/b] End If End Sub
|
|
|
alceus (Normal User)
Pro
Messaggi: 61
Iscritto: 11/06/2008
|
Ok, grazie antolmetal
|
|
alceus (Normal User)
Pro
Messaggi: 61
Iscritto: 11/06/2008
|
L'unico inconveniente è che essendo il Text1 con proprietà Multiline impostata a True, facendo Text1.SelStart="" resta poi una riga vuota al posto della riga eliminata. È possibile rimuoverla?
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Non penso sia la cosa + giusta cmq prova con un sendkeys:
Codice sorgente - presumibilmente VB.NET |
Private Sub Command1_Click() Dim i As Integer i = InStr(1, Text1.Text, vbCrLf) If i > 0 Then Text1.SelStart = 0 Text1.SelLength = i - 1 Text2.Text = Text1.SelText Text1.SelText = "" Text1.SetFocus SendKeys "{DELETE}" End If End Sub
|
|
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
puoi usare 3 metodi
1. dopo aver trasferito la prima riga, aumenti il sellenght di 2 e poi cancelli il seltext come ti ho mostrato prima
Codice sorgente - presumibilmente Plain Text |
text1.sellenght=text1.sellenght+2
text1.seltext=""
|
2. fai si che nella textbox ci sia tt il testo tranne i primi 2 caratteri
Codice sorgente - presumibilmente Plain Text |
text1.text=right(text1.text,2)
|
3. cambi il codice per prelevare la prima riga
Codice sorgente - presumibilmente VB.NET |
dim righe() as string righe=split(text1.text,vbrclf) text2.text=righe(0) text1.text="" for i=1 to ubound(righe) text1.text=text1.text & righe(i) & vbcrlf next i
|
|
|
alceus (Normal User)
Pro
Messaggi: 61
Iscritto: 11/06/2008
|
Grazie mille: ho optato per il primo modo. Grazie anche a tutti gli altri che sono intervenuti...
|
|