Voiko multiline textboxin merkkimäärän/rivi rajata jotenkin?
Minun tietääkseni ei, mutta voit itse kehittää tarkistussysteemin, joka rajoittaa määrää, jos se ylitetään. Merkit saat laskettua Len-funktiolla ja rivinvaihdot etsimällä textboxista silmukalla kaikki Chr$(10) + Chr$(13) -merkkiyhdistelmät.
Moikka Toitsu!
Voi, määrittämällä textboxin MaxLenght arvon nollaa suuremmaksi esim: Text1.MaxLenght = 200. Ohjelmaa ajettaessa textboxi ei reagoi Enter-napin painallukseen, mutta rivinvaihto onnistuu lisäämällä textboxin KeyUp tapahtumaan seuraavan koodinpätkän...
If KeyCode = 13 Then Text1.Text = Text1.Text & vbCrLf
...yksi rivinvaihto vie yhden merkin tilan tekstin enimmäispituudesta...voit "eliminoida" rivinvaihdon viemän tilan tekstin kokonaispituudesta lisäämällä projektiin moduulin...
'moduuliin Global rvaihto As Integer
...sekä textboxin change tapahtumaan seuraavan koodinpätkän...
rvaihto = 0 If Text1.Text <> "" Then For j% = 1 To Len(Text1.Text) If Mid$(Text1.Text, j%, 1) = Chr$(13) Then rvaihto = rvaihto + 1 Next j% End If Text1.MaxLength = (200 + rvaihto)
...ja muuntamalla textboxin KeyUp tapahtuman koodin muotoon...
If KeyCode = 13 And Len(Text1.Text) + rvaihto < 200 Then Text1.Text = Text1.Text & vbCrLf End If
neau33 kirjoitti:
yksi rivinvaihto vie yhden merkin tilan tekstin enimmäispituudesta
Kahdenpas. Cr ja Lf.
sooda olet täysin oikeassa, mutta kokeile koodia niin huomaat mitä tarkoitin...
Aihe on jo aika vanha, joten et voi enää vastata siihen.