Buongiorno a tutti...
mi serve assolutamente un modo per:
- Sapere il contenuto della singola riga di un Textbox
multiline.
- Cambiare il contenuto della singola riga dello stesso.
Grazie ad eventuali risposte.
Buongiorno a tutti...
mi serve assolutamente un modo per:
- Sapere il contenuto della singola riga di un Textbox
multiline.
- Cambiare il contenuto della singola riga dello stesso.
Grazie ad eventuali risposte.
beh,
dal numero di risposte sembrerebbe impossibile...![]()
sarebbe la prima cosa in visual basic che è impossibile, difatti non credo lo sia: ci dovrà pur essere un modo!!!![]()
![]()
![]()
HELP ME!!!![]()
un sistema un po' "casereccio" l'ho trovato.
per provarlo metti su un form un textbox Multiline con scrollbar Verticale e un CommandButton, poi usa questo codice:
includi anche questa routine nell'evento click del pulsante:codice:Function Dividi(Stringa As String, LargMax As Integer) Dim Parole() As String Dim Righe() As String Dim FraseIntera As String Dim P As Long, R As Long Set Me.Font = Text1.Font R = 0 Parole = Split(Stringa, " ") ReDim Preserve Righe(R) For P = 0 To UBound(Parole) If Me.TextWidth(Righe(R) & Parole(P) & " ") > LargMax Then R = R + 1 ReDim Preserve Righe(R) End If Righe(R) = Righe(R) & Parole(P) & " " Next FraseIntera = Join(Righe, vbCrLf) Righe = Split(FraseIntera, vbCrLf) Dividi = Righe End Function
se vuoi così com'è impostato ti restituisce il contenuto della 5ª riga... ma puoi variarlo cambiando il valore della variabile.
Booleancodice:Private Sub Command1_Click() Dim Frasi() As String NumFrase = 5 Frasi = Dividi(Text1.Text, Text1.Width - 345) '345 è approssimativamente la larghezza della scrollbar MsgBox Frasi(NumFrase - 1) End Sub
hei,
grazie per il consiglio!
ma non ho capito niente.
poi ho ricontrollato il codice e mi è venuta una improvvisa illuminazione...
private sub ......
Righe = Split(FraseIntera, vbCrLf)
msgbox righe(n)
end sub.
poi resta ancora un problemino: come immettere un valore nella tal riga della textbox?
forse si potrebbe fare:
riga(10) = "ciao"
text1.text = ""
for i=1 to n then
text1.text=text1.text & vbcrlf & riga(i)
next i
se hai un'idea migliore fatti avanti...
(se le righe della textbox fossero molte, il ciclo for next, potrebbe essere troppo lento)...