Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst VB.NET 2010, Richtextbox während Eingabe formatieren

Mitglied: emeriks

emeriks (Level 4) - Jetzt verbinden

10.04.2012 um 15:54 Uhr, 8088 Aufrufe, 2 Kommentare

Ich will mir im VB.Net 2010 eine Richtextbox so einrichten, dass schon während der Eingabe bestimmte Wörter hervorgehoben werden, z.B. die Schriftfarbe. Ich bekomme das auch hin, über "TextChanged" und "SelectionColor". Der Faulheit halber lasse ich aber jedesmal den gesamten Inhalt prüfen und formatieren. Die erwartete Textmenge ist so groß nicht sodass das flott geht, auch wenn der Text mal ein paar Zeilen scrollen muss. Aber genau da hakt es. Jedesmal flimmert die Box, weil er jedesmal den Text nach unten durchscrollt und dann wieder an die Eingabestelle zurück springt.

Ich suche jetzt nach einem Weg, ihn davon abzuhalten, beim Durchlaufen des Texts jedesmal die Boax zu scrollen.

Ein einfaches Formular mit einer Richtextbox namens "rtb".

01.
  Private Sub rtb_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rtb.TextChanged 
02.
    Try 
03.
      'Merken der aktuellen Cursor-Position 
04.
      Dim CursorPosition As Long = rtb.SelectionStart 
05.
      'Die hervorzuhebende Phrase 
06.
      Dim Phrase = "Hallo" 
07.
      'Die aktuelle Suchposition 
08.
      Dim p As Int32 = 0 - Phrase.Length 
09.
      Do 
10.
        'Das nächste Vorkommen der Phrase suchen 
11.
        p = rtb.Text.IndexOf(Phrase, p + Phrase.Length) 
12.
        If p >= 0 Then 
13.
          rtb.SelectionStart = p 
14.
          rtb.SelectionLength = Phrase.Length 
15.
          rtb.SelectionColor = Color.Red 
16.
          'Application.DoEvents() 
17.
        End If 
18.
      Loop While p >= 0 
19.
      rtb.SelectionStart = CursorPosition 
20.
      rtb.SelectionLength = 0 
21.
 
22.
    Catch ex As Exception 
23.
      'ignoriert 
24.
    End Try 
25.
  End Sub 
26.
 
Das geht doch sicher viel eleganter, oder?
Mitglied: mrtux
10.04.2012 um 16:18 Uhr
Hi !

Nur eine blöde Idee aus dem Stand heraus und besonders elegant ist die leider auch nicht aber probier doch mal wie es aussieht, wenn Du den gesamten Text in eine zweite Box schiebst (die nur im Speicher existiert bzw. unsichtbar ist), ihn dort formatierst und dann wieder in die erste Box zurückschreibst. Natürlich musst Du während die Formatiervorgang läuft, die sichtbare Box vor Änderungen schützen und den Schutz danach wieder aufheben, am besten mit dem Ende des Try Blocks.

mrtux
Bitte warten ..
Mitglied: emeriks
10.04.2012 um 16:33 Uhr
Ja, nee is klar ....

Nicht elegant aber das Ergebnis zählt! geht super! Danke!

Ich erstelle zur Laufzeit eine Hilfsbox, kopiere den RTF-Inhalt rüber, formatiere und kopiere zurück.

01.
    Dim rtb2 As RichTextBox = New RichTextBox 
02.
    rtb2.Rtf = rtb.Rtf 
03.
 
04.
    ....... 
05.
 
06.
    rtb.rtf = rtb2.rtf 
07.
    rtb.SelectionStart = CursorPosition 
08.
    rtb.SelectionLength = 0
Jetzt muss ich das nur noch ein bißchen intelligenter aufbauen, damit der mir auch die Formate wieder raus nimmt, wenn man nachträglich ändert ...
Bitte warten ..
Ähnliche Inhalte
Visual Studio

VB.Net RichtextBox Inhalt in Zwischenablage kopieren

gelöst Frage von emeriksVisual Studio2 Kommentare

Hi, wenn man im Visual Studion den Inhalt einer VB-Datei (den Quelltext) kopiert, dann kann man diesen sowohl in ...

Batch & Shell

Powershell Get-ADUser Informationen und Richtextbox

gelöst Frage von H41mSh1C0RBatch & Shell2 Kommentare

Aloa in die Runde, kleine GUI für Testzwecke. AD Informationen zu einem Nutzer holen. Jetzt gibt er allerdings nur ...

Visual Studio

WPF CSharp RichTextBox ersetze werte

gelöst Frage von it4baerVisual Studio7 Kommentare

Hi, ich will mit WPF eine Richtextbox einlesen und diese mit Platzhaltern versehen, die Platzhalter möchte ich im nachhinein ...

Visual Studio

Variablen in VB.NET

gelöst Frage von MarcoBornVisual Studio4 Kommentare

Hallo Forum, in VB.NET gibt es ja die Möglichkeit, Variablen global oder lokal zu definieren. Zusätzlich können Variablen auch ...

Neue Wissensbeiträge
Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 StundeSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 StundeMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 StundeHardware2 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

MikroTik RouterOS

Mikrotik Advisory: Vulnerability exploiting the Winbox port

Information von colinardo vor 1 StundeMikroTik RouterOS

Brand aktuell: Eine Schwachstelle im Winbox-Port bei Mikrotik Routern erlaubt das Auslesen der User-Datenbank der Router. Patch ist aktuell ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux22 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

Netzwerkgrundlagen
VLAN - Offene Fragen
Frage von KnettenbrechNetzwerkgrundlagen17 Kommentare

Hallo zusammen, ich befasse mich derzeit mit dem Thema VLAN. Hierzu habe ich schon einige Guides gelesen, einschließlich des ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

Router & Routing
VPN hinter zweiter Fritzbox nutzen im Nachbarhaus
gelöst Frage von georg2204Router & Routing11 Kommentare

Hallo zusammen, ich blicke hier leider nicht mehr so ganz durch. In Haus 1 steht eine Fritzbox 7390, diese ...