| |
VB.NET - Ein- und UmsteigerFireball-Codeeditor / Databinding | | | Autor: Knabber | Datum: 09.12.23 12:45 |
| Hallo nochmal.
Kennt sich jemand aus mit Fireball-Codeeditor ?
Ich hab das externe control installiert. Wenn Ich einen Code eintippe oder per Copy/Paste einfüge wird mir wie gewünscht "Syntaxhighligning" angezeigt.
Eigenlich ist es ja nichts anderes als eine Richtextbox mit Highligtning.
Wenn ich aber nun diese Box binde an einer Spalte einer Tabelle aus der DB (in den Eigenschaften Databindings/Erweitert) dann bleibt die Box leer.
Habe es mit einer normalen Richtextbox getestet. Da läuft alles Problemlos.
hat da vielleicht jemand eine Lösung? | |
Re: Fireball-Codeeditor / Databinding | | | Autor: Manfred X | Datum: 09.12.23 21:10 |
| Hallo!
So weit ich das nach einem kurzen Blick beurteilen kann,
ist dieser CodeEditor nicht als Richtextbox ausgelegt bzw. verwendbar.
Er besitzt zwar eine Texteigenschaft (von Control geerbt),
eine Zuweisung auf diese Eigenschaft scheint aber nicht
ausgeführt zu werden.
Eine Rtf-Eigenschaft ist nicht offen gelegt.
Beitrag wurde zuletzt am 09.12.23 um 21:30:45 editiert. | |
Re: Fireball-Codeeditor / Databinding | | | Autor: Knabber | Datum: 10.12.23 11:25 |
| Hallo
Habe mich entschlossen auf das Highlightning zu verzichten. Ich nehme eine normale Richtextbox
Damit funktioniert jedenfalls alles
Vielen Dank für dein rüberschauen und für die Antwort | |
Re: Fireball-Codeeditor / Databinding | | | Autor: Manfred X | Datum: 10.12.23 13:00 |
| Hallo!
Die Richtextbox-Eigenschaften SelectionStart, SelectionLength und SelectionColor
ermöglichen die Highlight-Darstellung von Textabschnitten. | |
Windows.Forms Formular: Highlight in der Richtextbox | | | Autor: Manfred X | Datum: 10.12.23 13:57 |
| Public Class frmRTFHighLight
'Eingabe der Worte für Highlight-Darstellung
Dim WithEvents txtHigh As New TextBox With
{.Parent = Me, .Left = 10, .Top = 10, .Width = 300}
Dim rtbHigh As New RichTextBox With
{.Parent = Me, .Left = 10, .Top = 50, .Width = 300, .Height = 300, _
.Multiline = True}
Dim txtHighlight As String = ""
Private Sub frmRTFHighLight_Load(sender As Object, e As EventArgs) Handles _
MyBase.Load
'Beispieltext
rtbHigh.Text = "Ene mene miste," & vbCrLf & "was rappelt in der Kiste?" _
&
vbCrLf & "Ene mene Meck" & vbCrLf & "und Du bist weg"
rtbHigh.AppendText(vbCrLf & vbCrLf & rtbHigh.Text)
End Sub
Private Sub txtHigh_KeyDown(sender As Object, e As KeyEventArgs) Handles _
txtHigh.KeyDown
If e.KeyCode = Keys.Return Then
'bestehenden Highlight-Text löschen
SelectText(txtHighlight, False)
txtHighlight = txtHigh.Text
'neuen Text Highlight darstellen
SelectText(txtHighlight, True)
End If
End Sub
Private Sub SelectText(ByVal txt As String, ByVal showselect As Boolean)
With rtbHigh
If String.IsNullOrWhiteSpace(txt) Then Exit Sub
Dim i As Integer = -txt.Length - 1
'Suchschleife
Do
i = .Find(txt,
i + txt.Length + 1,
.Text.Length,
RichTextBoxFinds.WholeWord)
If i >= 0 Then
.SelectionStart = i
.SelectionLength = txt.Length
If Not showselect Then
'normaleDarstellung
.SelectionColor = .ForeColor
.SelectionFont = .Font
Else
'Highlight-Darstellung
.SelectionColor = Color.Blue
.SelectionFont = New Font("Arial", 10, FontStyle.Bold)
End If
.SelectionLength = 0
End If
Loop While i >= 0 AndAlso i < .Text.Length - Txt.Length
End With
End Sub
End Class | |
Re: Fireball-Codeeditor / Databinding | | | Autor: Knabber | Datum: 10.12.23 14:40 |
| Ja, vielen Dank für den Code
Sehr schön, aber es ist nicht das was ich eigenlich wollte.
Dein Code bezieht sich nur auf den Text. (Was heisst hier "Nur") Das ist schon ganz toll
Mit schwebt eigenlich etwas größeres vor. Etwa wie in "Visual Studio" oder aber "Notepad++"
Mit Zeileneinrückung, alles nach Hochkomma grün usw.
trotzdem vielen Dank für deine Mühe | |
Re: Fireball-Codeeditor / Databinding | | | Autor: Manfred X | Datum: 10.12.23 14:46 |
| Dafür benötigst Du einen etwas größeren Programmieraufwand.
Um alles zwischen zwei Hochkommas mit Grüner Farbe zu markieren,
sucht man - wie gezeigt - nach Hochkommapaarungen und
markiert - wie gezeigt - den Text dazwischen.
Ansonsten empfehle ich, die verschiedenen Selection-Eigenschaften
der Richtextbox genauer anzuschauen. Es liegen alle für Deine Zwecke
benötigten Hilfsmittel vor .... | |
Richtextbox: Routine für das Markieren der Texte zwischen zwei Kennstrings | | | Autor: Manfred X | Datum: 10.12.23 15:35 |
| Im ersten Parameter ist die Zeichenfolge anzugebe, die Beginn und Ende eines
Blocks anzeigt.
rtbHigh ist eine Richtextbox.
Private Sub MarkerBetween(Delimiter As String, MarkerColor As Color)
With rtbHigh
Dim pos1 As Integer = -Delimiter.Length - 1
Dim pos2 As Integer = -1
Do
pos1 = FindString(Delimiter, pos1)
If pos1 >= 0 Then
pos2 = FindString(Delimiter, pos1 + 2)
If pos2 > pos1 + 2 Then
.SelectionStart = pos1
.SelectionLength = pos2 - pos1 + 1
.SelectionBackColor = MarkerColor
.SelectionLength = 0
pos1 = pos2
End If
End If
Loop While pos2 >= 0 And pos2 = pos1 and pos2 < .Text.Length - 2
End With
End Sub
Private Function FindString(ByVal txt As String, ByVal start As Integer) As _
Integer
Return rtbHigh.Find(txt, start + txt.Length + 1,
rtbHigh.Text.Length, RichTextBoxFinds.None)
End Function
Beitrag wurde zuletzt am 10.12.23 um 15:53:15 editiert. | |
Re: Fireball-Codeeditor / Databinding | | | Autor: Kuno60 | Datum: 10.12.23 22:34 |
| Hallo,
eine direkte Datenbindung scheint bei diesem Control nicht möglich zu sein.
'So kann der Code direkt zugewiesen werden:
CodeEditorControl1.Document.Text = "VB-Code"
'oder auch so:
SyntaxDocument1.Text = "VB-Code" oder über eines der Ereignisse der BindingSource und Abfrage der Current-Eigenschaft:
Private Sub TestClassBindingSource_CurrentItemChanged(sender As Object, e As _
EventArgs) Handles TestClassBindingSource.CurrentItemChanged
Dim cur As TestClass = CType(TestClassBindingSource.Current, TestClass)
SyntaxDocument1.Text = cur.CodeText
End Sub | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevDTA 3.0 Pro
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere Infos
|
|
|
Copyright ©2000-2024 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
|
|