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

Frage Entwicklung Visual Studio

GELÖST

VB.NET 2010, Richtextbox während Eingabe formatieren

Mitglied: emeriks

emeriks (Level 4) - Jetzt verbinden

10.04.2012 um 15:54 Uhr, 8025 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
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 ...

Ubuntu
CMD Eingabe
gelöst Frage von scheibenboxxxerUbuntu3 Kommentare

Hi leute Ma ne frage an euch was bringt das wenn mann den cmd unter linux aufruft und eintippt ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 14 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit25 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Windows 10
Automatische daten kopieren, USB zu USB unter Win10 im Hintergrund
Frage von DerEisigeWindows 1016 Kommentare

Hallo Leute, ich bin auf der Suche nach einem Skript, dass von einem USB Stick automatisch nach dem einstecken ...