Um in VB.NET 2003 markierten Text innerhalb einer RichTextBox per Drag & Drop mit der Maus zu verschieben, musst du einige Ereignisse und Einstellungen nutzen, da die Standard-RichTextBox dieses V... [mehr]
In VB.NET 2003 (und generell in Windows Forms) ist es so, dass der `RightMargin`-Wert einer RichTextBox lediglich die Anzeige beeinflusst: Der Text wird optisch umgebrochen, aber im zugrundeliegenden Text (RTF oder Plaintext) werden **keine echten Zeilenumbrüche** (`vbCrLf` oder `\par` im RTF) eingefügt. **Das bedeutet:** Zeilen, die durch den `RightMargin`-Wert umgebrochen werden, sind im Text weiterhin eine einzige Zeile. Wenn du den Text ausliest (z.B. mit `.Text` oder `.Rtf`), findest du dort keine zusätzlichen Zeilenumbrüche an den Umbruchstellen. **Umwandlung in echte Zeilenumbrüche:** Das automatische Erkennen und Umwandeln dieser "Soft Wraps" (also Anzeige-Umbrüche) in echte Zeilenumbrüche ist mit Bordmitteln nicht möglich, weil die Information, wo der Umbruch angezeigt wird, nicht im Text gespeichert ist. **Möglicher Workaround:** 1. **Text manuell umbrechen:** Du könntest den Text selbst analysieren und an der gewünschten Zeichenanzahl (entsprechend der Breite des Controls und der Schriftart) echte Zeilenumbrüche einfügen. Das ist allerdings aufwändig, da du die Breite jedes Wortes/Zeichens berechnen musst (z.B. mit `Graphics.MeasureString`). 2. **Text ausdrucken und Zeilenumbrüche erkennen:** Wenn du den Text z.B. druckst oder exportierst, könntest du die Zeilenumbrüche anhand der sichtbaren Zeilen im Control erkennen. Dazu müsstest du die Methode `GetLineFromCharIndex` und `GetFirstCharIndexFromLine` der RichTextBox verwenden, um die sichtbaren Zeilen zu ermitteln und dann an diesen Stellen echte Zeilenumbrüche einfügen. **Beispiel für das Ermitteln sichtbarer Zeilen:** ```vb.net Dim lines As New List(Of String) For i As Integer = 0 To RichTextBox1.GetLineFromCharIndex(RichTextBox1.TextLength) Dim start As Integer = RichTextBox1.GetFirstCharIndexFromLine(i) Dim length As Integer If i = RichTextBox1.Lines.Length - 1 Then length = RichTextBox1.TextLength - start Else length = RichTextBox1.GetFirstCharIndexFromLine(i + 1) - start End If If length > 0 Then lines.Add(RichTextBox1.Text.Substring(start, length).TrimEnd(vbCr, vbLf)) End If Next Dim newText As String = String.Join(vbCrLf, lines.ToArray) ``` **Achtung:** Das funktioniert nur für "harte" Zeilenumbrüche, nicht für die durch `RightMargin` erzeugten "weichen" Umbrüche. Für die "weichen" Umbrüche gibt es keine direkte Methode, da sie nur visuell sind. **Fazit:** Mit Standardmitteln von VB.NET 2003 kannst du die durch `RightMargin` erzeugten Umbrüche **nicht** automatisch in echte Zeilenumbrüche umwandeln, weil diese Information nicht im Text gespeichert wird. Du müsstest den Text selbst nach den Anzeige-Umbrüchen analysieren und an den entsprechenden Stellen echte Zeilenumbrüche einfügen – das ist aber sehr aufwändig und fehleranfällig. **Weitere Infos:** - [Microsoft Doku zu RichTextBox.RightMargin](https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.richtextbox.rightmargin) - [StackOverflow: How to get visible lines in RichTextBox](https://stackoverflow.com/questions/1050175/how-to-get-visible-lines-in-richtextbox) **Zusammengefasst:** Eine automatische Umwandlung ist nicht vorgesehen und nur mit erheblichem Aufwand möglich.
Um in VB.NET 2003 markierten Text innerhalb einer RichTextBox per Drag & Drop mit der Maus zu verschieben, musst du einige Ereignisse und Einstellungen nutzen, da die Standard-RichTextBox dieses V... [mehr]
In VB.NET 2003 entspricht das Hochkomma (Apostroph, also `'`) dem KeyCode **emQuotes**. Du kannst also in einem KeyDown- oder KeyPress-Ereignis so darauf prüfen: ```vb.net If e.KeyCode =... [mehr]
Das automatische Zeilenumbruch-Feature (`WordWrap=True`) in einer RichTextBox in VB.NET 2003 sorgt nur für die optische Darstellung von Zeilenumbrüchen – im Text selbst werden keine ec... [mehr]
Nein, in VB.NET 2003 reicht die Einstellung `AcceptsReturn = False` bei einer TextBox nicht aus, um den Beep-Ton beim Drücken der Return-Taste (Enter) zu unterdrücken. **Erklärung:** -... [mehr]
Das Verhalten, das du beschreibst, ist korrekt: In **VB.NET 2003** (also .NET Framework 1.1) gibt es die Methode `GetFirstCharIndexFromLine()` für das `RichTextBox`-Steuerelement **noch nicht**.... [mehr]
Um in VB.NET 2003 am Anfang jeder ausgewählten Zeile in einer `RichTextBox` ein einfaches Hochkomma (`'`) einzufügen, kannst du folgenden Ansatz verwenden: 1. **Ermittle die Auswahl**:... [mehr]
In VB.NET 2003 unterstützt die Methode `RichTextBox.LoadFile` standardmäßig keine direkte Konvertierung von UTF-8 nach ANSI. Sie lädt die Datei entweder als RTF oder als reinen Te... [mehr]
In VB.NET 2003 kannst du zum Kopieren einer Datei die Methode `File.Copy` aus dem Namespace `System.IO` verwenden. Hier ein einfaches Beispiel: ```vb Imports System.IO ' Beispiel: Datei kopiere... [mehr]
In VB.NET 2003 (also .NET Framework 1.1) gibt es beim `ListView`-Steuerelement einige Einschränkungen im Vergleich zu späteren Versionen. Das Problem, dass nach dem Sortieren die Änderu... [mehr]
Um in VB.NET 2003 den Ordnernamen mehrerer mit dem `OpenFileDialog` ausgewählter Dateien zu ermitteln, gehst du wie folgt vor: 1. Setze die Eigenschaft `Multiselect des `OpenFileDialog` auf `Tru... [mehr]