Um in VB.NET 2003 aus einer in einem Panel geöffneten „OwnedForm“ (also einer untergeordneten Form) öffentliche Funktionen aufzurufen, musst du einen Verweis auf das Form-Objekt... [mehr]
In VB.NET 2003 gibt es keine direkte Eigenschaft wie `Owner` für Forms, wenn du eine Form in einem Panel eines anderen Forms als "Child" einfügst (also z.B. mit `form.TopLevel = False` und dann `panel.Controls.Add(form)`). Die `Owner`-Eigenschaft ist nur für modale Dialoge (`ShowDialog`) oder explizit gesetzte Owner-Formulare gedacht. Wenn du eine Form in ein Panel einfügst, ist sie ein Control des Panels, aber nicht automatisch mit einer Owner-Referenz versehen. Du musst also selbst eine Referenz auf das "Owner"-Formular bereitstellen. **Lösungsvorschlag:** 1. **Eigene Property für Owner setzen:** Füge in deiner OwnedForm eine Property hinzu, die auf das Owner-Form verweist. ```vb.net ' In der OwnedForm Private _myOwner As Form Public Property MyOwnerForm() As Form Get Return _myOwner End Get Set(ByVal value As Form) _myOwner = value End Set End Property ``` 2. **Beim Erstellen setzen:** Wenn du die OwnedForm erstellst und in das Panel einfügst, setzt du diese Property: ```vb.net ' Im Owner-Form Dim ownedForm As New OwnedForm() ownedForm.TopLevel = False ownedForm.MyOwnerForm = Me Panel1.Controls.Add(ownedForm) ownedForm.Show() ``` 3. **Zugriff auf den Owner:** In der OwnedForm kannst du dann jederzeit auf `MyOwnerForm` zugreifen. ```vb.net ' Beispiel in der OwnedForm If Not MyOwnerForm Is Nothing Then MyOwnerForm.Text = "Owner angesprochen!" End If ``` **Hinweis:** Wenn du die Form als Control in ein Panel einfügst, ist sie kein echtes "OwnedForm" im klassischen Sinne, sondern ein untergeordnetes Control. Die Owner-Logik musst du daher selbst implementieren, wie oben gezeigt. **Weitere Infos:** - [Microsoft Docs: Form.Owner Property](https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.form.owner) - [Microsoft Docs: How to: Create MDI Child Forms](https://learn.microsoft.com/en-us/dotnet/desktop/winforms/advanced/how-to-create-mdi-child-forms?view=netframeworkdesktop-4.8) Falls du ein echtes MDI-Szenario meinst, solltest du stattdessen MDI-Parent/Child verwenden. Ansonsten ist die oben beschriebene Methode für Forms-in-Panels üblich.
Um in VB.NET 2003 aus einer in einem Panel geöffneten „OwnedForm“ (also einer untergeordneten Form) öffentliche Funktionen aufzurufen, musst du einen Verweis auf das Form-Objekt... [mehr]
Nein, in VB.NET 2003 ist `Me.AddOwnedForm(xxx)` **nicht** dasselbe wie `xxx.Owner = Me`. **Unterschiede:** - `Me.AddOwnedForm(xxx)` Diese Methode fügt das Formular `xxx` zur Liste der von `... [mehr]
In VB.NET 2003 (also .NET Framework 1.1) gibt es keine direkte Möglichkeit, ein Untermenü (Submenu) eines ContextMenus per Code aufzuklappen. Das liegt daran, dass das klassische `ContextMen... [mehr]
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]
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... [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]