Ein Code für mehrere RichTextBoxen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Solaris.

    Ein Code für mehrere RichTextBoxen

    Hallo,

    ich stehe nun vor folgendem Problem:
    Anfangs hatte ich in meiner Form eine RichTextBox und über dieser eine Reihe von Buttons für die Textbearbeitung.
    Beispielsweise für "Schritt zurück"

    VB.NET-Quellcode

    1. If RichTextBox1.CanUndo = True Then
    2. RichTextBox1.Undo()
    3. End If


    Nun habe ich aber 10 Tabs in denen jeweils eine RichTextBox ist.
    Wie kann ich die einzelnen Codes für alle Boxen, je nach ausgewählten Tab, anwendbar machen?
    Wenn ich die 1 weglasse, funktioniert das natürlich nicht.

    Gibt es eine Möglichkeit, die RichTextBox quasi als Variable zu deklarieren?
    Bspw als RTB:

    VB.NET-Quellcode

    1. If RTB.CanUndo = True Then
    2. RTB.Undo()
    3. End If


    und dann bei der Tabauswahl irgendwie festlegen, dass beispielsweise bei aktivem Tab4 die RichTextBox4 = RTB ist?

    Vielen Dank im Voraus!

    max1605 schrieb:

    Gibt es eine Möglichkeit, die RichTextBox quasi als Variable zu deklarieren?
    Zu deklarieren nicht, aber zu übergeben:

    VB.NET-Quellcode

    1. Private Sub DoAnything(RichTextBox rtb)
    2. rtb.DoWhatEver()
    3. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Jetzt bin ich gerade irritiert. Wie würde denn das ganze an einem Codebeispiel aussehen?

    VB.NET-Quellcode

    1. Sub TabAuswahl()
    2. If TabControl1.SelectedTab Is TabPage4 Then
    3. 'Hier soll dann klargestellt werden, dass die RichTextBox4 nun RTB sein soll.
    4. Else
    5. End If
    6. End Sub

    und in wiefern muss ich dann meinen Code anpassen:

    VB.NET-Quellcode

    1. Sub Undo()
    2. If RichTextBox1.CanUndo = True Then
    3. RichTextBox1.Undo()
    4. End If
    5. End Sub

    max1605 schrieb:

    Sub Undo()
    If RichTextBox1.CanUndo = True Then
    RichTextBox1.Undo()
    End If
    End Sub


    machst Du:

    VB.NET-Quellcode

    1. Sub Undo(rtb as RichTextBox)
    2. if rtb.CanUndo then
    3. rtb.Undo()
    4. end if
    5. End Sub


    Aufruf:

    VB.NET-Quellcode

    1. Sub TabAuswahl()
    2. If TabControl1.SelectedTab Is TabPage4 Then
    3. 'Hier soll dann klargestellt werden, dass die RichTextBox4 nun RTB sein soll.
    4. Undo(RichTextBox4)
    5. Else
    6. End If
    7. End Sub

    "Hier könnte Ihre Werbung stehen..."