Gemeinsam zu mehr Effizienz in der Anwendungserstellung
(→VB.NET UserControl) |
(→VB.NET UserControl) |
||
Zeile 65: | Zeile 65: | ||
* Löschen Sie die automatisch generierte Klasse ''Class1.vb'' | * Löschen Sie die automatisch generierte Klasse ''Class1.vb'' | ||
* Fügen Sie über die Funktion ''Neues Element hinzufügen'' ein neues Benutzersteuerelement ein und übernehmen Sie die vorgeschlagene Bezeichnung ''UserControl1.vb'' | * Fügen Sie über die Funktion ''Neues Element hinzufügen'' ein neues Benutzersteuerelement ein und übernehmen Sie die vorgeschlagene Bezeichnung ''UserControl1.vb'' | ||
- | * Beachten Sie, dass der Projekt-Name ''ClassLibrary1'' (Namespace) sowie der Klassenname ''UserControl1'' später für den Aufruf der | + | * Beachten Sie, dass der Projekt-Name ''ClassLibrary1'' (Namespace) sowie der Klassenname ''UserControl1'' später für den Aufruf der CreateObject-Methode der NetComDomain-Klasse von Bedeutung ist. |
* Fügen Sie auf dem UserControl1 einen Button ''Button1'' ein | * Fügen Sie auf dem UserControl1 einen Button ''Button1'' ein | ||
* Wechseln Sie in die Quellcode-Bearbeitung (z.B. Taste [F7]) und übernehmen Sie den folgenden Code für das Control: | * Wechseln Sie in die Quellcode-Bearbeitung (z.B. Taste [F7]) und übernehmen Sie den folgenden Code für das Control: |
Inhaltsverzeichnis |
Option Compare Database Option Explicit Private Sub Befehl1_Click() Dim DllPath As String DllPath = "C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll" Dim WinForm As Object With New NetComDomain Set WinForm = .CreateObject("Form", "System.Windows.Forms", DllPath) WinForm.TopLevel = False End With Me.ControlContainer0.Object.LoadControl WinForm Set WinForm = Nothing With Me.ControlContainer0.Object.Control .Text = "Das ist ein .NET Winform" .StartPosition = 1 .ShowIcon = False .Show End With End Sub
Public Class UserControl1 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click MsgBox("Hello World") End Sub Public Function SayHello() As String Return "Hallo, ich bin eine Public Function!" End Function End Class
Option Compare Database Option Explicit Private Sub Befehl1_Click() Dim DllPath As String DllPath = Application.CodeProject.Path & "\" & "ClassLibrary1.dll" With New NetComDomain Me.ControlContainer0.Object.LoadControl .CreateObject("UserControl1", "ClassLibrary1", DllPath) End With MsgBox Me.ControlContainer0.Object.Control.SayHello End Sub