Kuinka saadaan muutettua Textbox:n tabulointi väliä, kun on tarvis saada "riittävästi" yksittäisiä erilaisia merkkejä riville ja eri riveillä samaan kohtaan.
Heippa pappara!
väännä oheisesta mallista omiin tarpeisiisi soveltuva viritelmä...
'... Imports Microsoft.VisualBasic '... Public Class MainForm '... Public Shared Tabs() As Object '... Private Sub MainFormLoad( _ sender As System.Object, e As System.EventArgs) ReDim Preserve Tabs(4) Dim i As Integer For i = Tabs.GetLowerBound(0) To _ Tabs.GetUpperBound(0) Tabs(i) = New String(vbTab, i + 1) Next i TextBox1.AppendText("Haloo" & Tabs(0) & "World" & vbCrLf) TextBox1.AppendText("Minä" & Tabs(1) & "täällä" & vbCrLf) TextBox1.AppendText("0" & Tabs(0) & "1" & Tabs(1) & "2" & vbCrLf) End Sub
Heippa taas pappara!
oheisen esimerkin mallista on ehkä helpompi väännellä...
'formille pari tekstiruutua (syöttö & tulostus) '... Imports Microsoft.VisualBasic '... Private Sub TextBox1TextChanged( _ sender As System.Object, e As System.EventArgs) TextBox1.MaxLength = 20 TextBox1.Text = Replace(TextBox1.Text, " ", " ") End Sub Private Sub TextBox1KeyPress(sender As System.Object, _ e As System.Windows.Forms.KeyPressEventArgs) Select Case e.KeyChar Case Chr(13) Static sarakket As Integer Dim mjono As String = TextBox1.Text If mjono.Length < TextBox1.MaxLength Then _ mjono += New String(" ", _ TextBox1.MaxLength - mjono.Length) TextBox1.Text = "" Select Case sarakket Case < 3 TextBox2.AppendText(mjono & vbTab) sarakket += 1 Case 3 TextBox2.AppendText(mjono & vbCrLf) sarakket -= sarakket End Select mjono = Nothing End Select End Sub
Moi Neau
Kiitoksia vinkeistä:)
Testasin tuota ensimmäistä versiota ja huomasin, että siinä on välit samat kuin vbTab lisättynä merkkijonoon merkkien väliin, mutta millä saa sen välin esim. vain kolmeen merkkiin ja niin ettei tulostettavalla merkillä ole merkitystä sivusuunnassa sijaintiin. Jos laitaa väliin vain " " tyhjää, merkit ovat erikohdissa riveillä, leveyteen vaikuttaa tulevat merkit esim. 1 X 1 H I 2.
Heippa taas pappara!
kokeile esim GulimChe fonttia
Voitko käyttää TextBoxin sijasta RichTextBoxia. Siihen saa tabulaattotit asetettua suoraan.
Kiitoksia taas vinkeistä, etsin ohjeista kuinka RichTextBox:iin asetetaan tabulaattorit, mutta en löytänyt, joten voisitko hieman valaista...
En muista kuinka se tapahtui. Katsoin tuosta RichTextBox-projektistani mutta tuli tyly ilmoitus lisenssin puuttumisesta. En muista kuinka se piti rekisteröidä ja ihmettelen myös minne se on kadonnut kun kerran alunperin tuon projektin olen tällä koneella tehnyt.
VB5 ohjeista löytyi tämmöinen: (ehkei sovi VB.NETtiin, valitettavasti)
lainaus:
RichTextBox Control
Returns or sets the number of tabs and the absolute tab positions of text in a RichTextBox control. Not available at design time.Syntax
object.SelTabCount [= count]
object.SelTabs(index) [= location]The SelTabCount and SelTabs properties syntaxes have these parts:
object: An object expression that evaluates to an object in the Applies To list.
count: An integer that determines the number of tab positions in the selected paragraph(s) or in those paragraph(s) following the insertion point.
index: An integer that identifies a specific tab. The first tab location has an index of zero (0). The last tab location has an index equal to SelTabCount minus 1.
location: An integer that specifies the location of the designated tab. The units used to express tab positions are determined by the scale mode of the Form object or other object containing the RichTextBox control.
Remarks
By default, pressing TAB when typing in a RichTextBox control causes focus to move to the next control in the tab order, as specified by the TabIndex property. One way to insert a tab in the text is by pressing CTRL+TAB. However, users who are accustomed to working with word processors may find the CTRL+TAB key combination contrary to their experience. You can enable use of the TAB key to insert a tab in a RichTextBox control by temporarily switching the TabStop property of all the controls on the Form object to False while the RichTextBox control has focus. For example:Private Sub RichTextBox1_GotFocus() ' Ignore errors for controls without the TabStop property. On Error Resume Next ' Switch off the change of focus when pressing TAB. For Each Control In Controls Control.TabStop = False Next Control End SubMake sure to reset the TabStop property of the other controls when the RichTextBox control loses focus.
Aihe on jo aika vanha, joten et voi enää vastata siihen.