Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    83

    [VB.NET] numerare righe richtextbox

    Ciao a tutti!
    nel mio programmino (che vuole essere simile ad un editor di testo), ho fatto in modo che cliccando un bottone (nel menubar) si apra una nuova scheda con all'interno un nuovo richtextbox, fin qua tutto bene. Però, alla prima scheda (senza cliccare sul bottone) mi permette di numerare le righe che ho fatto, mentre nelle altre schede, non me lo fà.

    questo è il listato per creare una nuova scheda e tutto:
    codice:
    Public Sub newtabStreep_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles newStrp.Click
            Dim count As Integer
            Dim sc As Integer
            sc = tabcontrol.TabCount
            count = tabcontrol.TabPages.Count
            tabcontrol.TabPages.Add("<newfile" & count + 1 & ">")
            tabcontrol.SelectedIndex = count.ToString
            '
            'RichTextBox
            '
            Dim rich As New RichTextBox
            rich.Height = 499
            rich.Width = 724
            rich.Parent = tabcontrol.TabPages.Item(count)
            rich.Location = New System.Drawing.Point(79, 3)
            rich.AutoWordSelection = True
            rich.BorderStyle = BorderStyle.None
            rich.Dock = DockStyle.Fill
            rich.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            rich.SendToBack()
            rich.TabIndex = 0
    
    
    
            '
            'TextBox
            '
            Dim txt As New TextBox
            txt.BackColor = Color.Gainsboro
            txt.Parent = tabcontrol.TabPages.Item(count)
            txt.BorderStyle = BorderStyle.None
            txt.Dock = DockStyle.Left
            txt.Font = New System.Drawing.Font("Arial", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            txt.Location = New System.Drawing.Point(3, 3)
            txt.Multiline = True
            txt.ReadOnly = True
            txt.Size = New System.Drawing.Size(76, 499)
            txt.TextAlign = HorizontalAlignment.Center
            txt.MaxLength = 2147483647
            txt.SendToBack()
            txt.TabIndex = 1
           
        End Sub
    mentre questo è il listato per visualizzare le righe correnti del richtextbox:
    codice:
        Private Sub richtxt_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles richtxt.TextChanged
            Dim ln As Integer
            ln = richtxt.Lines.Length
            lineTxt.Clear()           'elimina testo presente (numeri righe).
            For i As Integer = 1 To ln        'moltiplica da 1 a numero di righe di richtxt.
                lineTxt.AppendText(i.ToString + vbCrLf)    'aggiunge il numero di righe + a capo.
            Next
            If richtxt.Lines.Length = 0 Then
                lineTxt.Text = "1" + vbCrLf     'se il n di righe di richtxt è zero,aggiunge a linetxt uno.
            End If
    
        End Sub
    in parole povere, vorrei sapere come fare a numerare le righe del richtextbox, quando questo viene automaticamente aggiunto tramite codice..
    spero abbiate capito..ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    83
    ok..forse mi sono spiegato male io

    io devo aggiungere una richtextbox cliccando sul bottone.
    per creare ogni richtextbox, uso il comando
    codice:
    dim rtb as new richtextbox
    non metto la richtextbox facendo il drag&droop dagli strumenti di visual studio.
    così ogni volta che clicco sul pusante mi compare sempre una nuovo richtextbox.
    all'inizio ho un richtextbox messa facendo il drag&droop, e nell'evento TextChanged metto il codice per numerare le righe presenti.
    il probl è che non riesco a mettere l'evento TextChanged in rtb (non l'ho aggiunto come un normale controllo com un bottone,img ecc.; ma scrivendo da codice)..
    plz..spero che ora abbiate capito..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.