vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: RichTextBox1.Find() 
Autor: keco
Datum: 28.08.09 16:27

Da du scheinbar auch Text ersetzen möchtest:
Public Class RichTextBoxEx
   Inherits System.Windows.Forms.RichTextBox
 
   Private pSearchIndex As Integer
   Public Property SearchIndex() As Integer
      Get
         Return pSearchIndex
      End Get
      Set(ByVal value As Integer)
         pSearchIndex = value
      End Set
   End Property
 
   ''' <summary>
   ''' Durchsucht den Text nach einer bestimmten Zeichenkette und markiert die 
   ' nächste gefundene Übereinstimmung
   ''' </summary>
   ''' <param name="Search">Enthält die zu suchende Zeichenkette</param>
   ''' <param name="SearchOptions">Enthält die Suchoptionen</param>
   ''' <returns>true, wenn der Suchbegriff mit den angegebenen Suchoptionen 
   ' gefunden wurde, andernfalls false</returns>
   ''' <remarks></remarks>
   Public Function SearchString(ByVal Search As String, ByVal SearchOptions As _
     Windows.Forms.RichTextBoxFinds) As Boolean
      ' Index für übereinstimmende Zeichenkette; -1, wenn nicht gefunden
      Dim i As Integer
 
      Try
         If (SearchOptions And Windows.Forms.RichTextBoxFinds.Reverse) = _
           Windows.Forms.RichTextBoxFinds.Reverse Then
            ' Ausführen, wenn Suchrichtung aufwärts ist
            i = Me.Find(Search, 0, Me.SearchIndex, SearchOptions)
         Else
            ' Ausführen, wenn Suchrichtung abwärts ist
            i = Me.Find(Search, Me.SearchIndex, SearchOptions)
         End If
      Catch ex As Exception
 
      End Try
 
      If i < 0 Then
         ' Ausführen, wenn Zeichenkette nicht vorhanden ist
         Me.Focus()
 
         Return False
      Else
         ' Ausführen, wenn Zeichenkette vorhanden ist
         Me.SearchIndex = i + 1
 
         Me.Focus()
         Return True
      End If
   End Function
 
   ''' <summary>
   ''' Durchsucht den Text nach einer bestimmten Zeichenkette, ersetzt diese 
   ' mit einer neuen Zeichenkette und markiert die nächste gefunde 
   ' Übereinstimmung
   ''' </summary>
   ''' <param name="OldValue">Enthält die zu suchende Zeichenkette</param>
   ''' <param name="NewValue">Enthält die neue Zeichenkette</param>
   ''' <param name="ReplaceAll">Bestimmt, ob alle Übereinstimmungen ersetzt 
   ' werden sollen</param>
   ''' <param name="SearchOptions">Enthält die Suchoptionen</param>
   ''' <remarks></remarks>
   Public Sub ReplaceString(ByVal OldValue As String, ByVal NewValue As String, _
     ByVal ReplaceAll As Boolean, ByVal SearchOptions As _
     Windows.Forms.RichTextBoxFinds)
      If ReplaceAll Then
         Do Until SearchString(OldValue, SearchOptions) = False
            If Me.SelectedText.Length > 0 Then
               Me.SelectedText = NewValue
            End If
         Loop
         SearchIndex = 0
      Else
         If Me.SelectedText.Length > 0 Then
            Me.SelectedText = NewValue
         End If
      End If
 
      Call SearchString(OldValue, SearchOptions)
   End Sub
 
   Private Sub Editor_SelectionChanged(ByVal sender As System.Object, ByVal e _
     As System.EventArgs) Handles MyBase.SelectionChanged
      SearchIndex = Me.SelectionStart
   End Sub
End Class
Damit sollte das nun funktionieren.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
RichTextBox1.Find()2.027I.V.26.08.09 15:54
Re: RichTextBox1.Find()1.332keco26.08.09 16:54
Re: RichTextBox1.Find()1.240I.V.27.08.09 23:24
Re: RichTextBox1.Find()1.197keco27.08.09 23:26
Re: RichTextBox1.Find()1.218I.V.28.08.09 09:27
Re: RichTextBox1.Find()1.311keco28.08.09 09:58
Re: RichTextBox1.Find()1.170I.V.28.08.09 15:43
Re: RichTextBox1.Find()1.266keco28.08.09 16:27
Re: RichTextBox1.Find()1.234sollniss28.08.09 16:34
Re: RichTextBox1.Find()1.271keco28.08.09 20:24
Re: RichTextBox1.Find()1.229I.V.28.08.09 21:19
Re: RichTextBox1.Find()1.216keco28.08.09 21:23
Re: RichTextBox1.Find()1.288I.V.28.08.09 21:43
Re: RichTextBox1.Find()1.214keco28.08.09 21:51
Re: RichTextBox1.Find()1.248I.V.28.08.09 22:04
Re: RichTextBox1.Find()1.224keco28.08.09 21:36
Re: RichTextBox1.Find()1.166I.V.28.08.09 21:55
Re: RichTextBox1.Find()1.308keco28.08.09 21:58
Re: RichTextBox1.Find()1.200I.V.28.08.09 22:09
Re: RichTextBox1.Find()1.182keco28.08.09 22:13
Re: RichTextBox1.Find()1.179I.V.28.08.09 22:15
Re: RichTextBox1.Find()1.218I.V.29.08.09 15:21
Re: RichTextBox1.Find()1.218keco29.08.09 20:02
Re: RichTextBox1.Find()1.173I.V.29.08.09 22:33
Re: RichTextBox1.Find()1.271keco29.08.09 22:37
Re: RichTextBox1.Find()1.363I.V.29.08.09 22:55
Re: RichTextBox1.Find()1.236keco29.08.09 22:58
Re: RichTextBox1.Find()1.233I.V.29.08.09 23:07
Re: RichTextBox1.Find()1.147keco29.08.09 23:14
Re: RichTextBox1.Find()1.161I.V.29.08.09 23:23
Re: RichTextBox1.Find()1.159keco29.08.09 23:31
Re: RichTextBox1.Find()1.160I.V.29.08.09 23:34
Re: RichTextBox1.Find()1.207Giftzwockel29.08.09 13:45
Re: RichTextBox1.Find()1.224I.V.29.08.09 15:13
Re: RichTextBox1.Find()1.218Giftzwockel29.08.09 16:45
Re: RichTextBox1.Find()1.270I.V.29.08.09 17:26
Re: RichTextBox1.Find()1.185Giftzwockel29.08.09 18:31
Re: RichTextBox1.Find()1.151asim_4925.07.10 14:03
Re: RichTextBox1.Find()1.128keco25.07.10 14:08
Re: RichTextBox1.Find()1.156Giftzwockel25.07.10 14:43
Re: RichTextBox1.Find()1.154keco25.07.10 14:54
Re: RichTextBox1.Find()1.297asim_4925.07.10 15:36

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel