Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1896 | Besucher online: 20
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Eigene Form aus ClassLibrary DLL Aufrufen


Autor: MichaSDL306
Sprache: VB.NET
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 2866
  
Kick it on dotnet-kicks.de  

Beschreibung:

Diese Fuktion ermöglicht eine Form aus eigene ClassLibrary DLL aufzurufen.

Einfach den Pfad der DLL angeben und Name der Form die im DLL ist angeben.


Folgende Importe werden benötigt:
Imports System.Reflection
Imports System.IO



Aufruf Beispiel:

Form1 aus ClassLibrary1.dll aufrufen
CallDLLForm(Application.StartupPath & "\ClassLibrary1.dll", "Form1")


Form1 aus ClassLibrary2.dll aufrufen
CallDLLForm(Application.StartupPath & "\ClassLibrary2.dll", "Form1")

------------------------------------------------------------------------------------------------


2 Formen aus einer ClassLibrary1.dll aufrufen

Form1 aus ClassLibrary1.dll aufrufen

CallDLLForm("C:\ClassLibrary1.dll", "Form1")


Form2 aus ClassLibrary1.dll aufrufen
CallDLLForm("C:\ClassLibrary1.dll", "Form2")


Abgelegt unter: Class, Library, DLL, Form, Forms, aufrufen, funktion, Klasse, Classe, Sub, Subs, SubMain, Assembly, Routine, Routinen, Prozedur, Prozeduren.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    ''' <summary>Ruft eine Form1 auf in einer DLL</summary>
    ''' <param name="DLLpath">Pfad zur DLL (Beispiel: C:\TEST.dll)</param>
    ''' <param name="FormName">Form Name in DLL (Beispiel: Form1 oder frmMain)</param>
    Public Sub CallDLLForm(ByVal DLLpath As String, ByVal FormName As String)
        Dim DLLFilenameEx As String = Path.GetFileName(DLLpath)
        Dim Filename As String = Path.GetFileNameWithoutExtension(DLLpath)
        Try
            Dim A As [Assembly] = [Assembly].LoadFrom(DLLpath)
            Dim B As [Module] = A.GetModule(DLLFilenameEx)
            Dim C As Type = B.GetType(Filename & "." & FormName)
            Dim D As Form = DirectCast(Activator.CreateInstance(C), Form)
            D.ShowDialog()
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Fawk_18 schrieb am:  16.02.2012 11:19:32

Warum so umständlich?
1. Referenz auf die Assembly wo die Form ist.
2. In deinem Code bei den Usings einfach "using NamespaceDeinerAssembly;"
3. In der gewünschten stelle "FormName frm = new FormName();" und anschließend frm.ShowDialog() oder ".Show();

Lg Fawk_18


Diese Snippets könnten für Sie interessant sein:
[C#] Desktop Klasse (CreateDesktop)
[VB.NET] Berechnet den Durchschnittswert von grossen Zahlenlisten
[C#] DLL Aufruf
[C#] Erkennen ob eine EXE (oder DLL) als 64bit kompiliert wurde
[VB.NET] Icon aus DLL laden
[C#] Ruft eine Methode in einer externen DLL anhand der Namen auf
[VB.NET] Prüfen, ob eine Datei überschrieben werden kann
[VB.NET] MDI Child Form nur einmal öffnen
[VB.NET] Ansichtsmodus für Forms (Alle Eingabefelder deaktivieren)
[VB.NET] Schliessen des Forms über X-Button verhindern
[C#] Form in den Windowsvordergrund bringen
[VB.NET] Form mit gedrückter linker Maustaste bewegen
[C#] Windows-Forms Panel frei positioniereren
[C#] Autom. Laden & Speichern von Position und Größe eines Forms
[C#] DirectX-Form
[C#] Fixes Form in Höhe und Breite verdoppeln, Inhalt skalieren
[C#] Form ohne Rahmen verschieben
[VB.NET] Füllen von Comboboxen aus einem Textfile
[C#] Größe einer rahmenlosen Form ändern
[C#] DesignMode im Kontruktor
[C#] Kommunikation zwischen zwei Forms
[C#] Runde Form mit Windows.Forms
[C#] .DesignMode Workaround (Windows Forms)
[C#] old Windows Forms Image to new WPF Image
[C#] externes Programm aufrufen (andere Version)
[C#] Zugriff auf Variablen/Funktionen einer unbekannten Klasse
[C#] CSV Dateien schreiben
[VB.NET] Original UNC Pfad eines Netzlaufwerkes ermitteln
[C#] Ordnergröße ermitteln
[C#] Kompilierzeit ermitteln
[C#] Shadow Copying
[VB.NET] Shadow Copying
[C#] Alle geladenen Assemblies ermitteln
[C#] Liefert alle Assemblies aus dem Global Assembly Cache (GAC)
[C#] Versionsnummer der Assembly ermitteln
[C#] Loads an embedded resource file of the calling assembly.
[C#] Dateiname des aktuellen Programms ermitteln
[VB.NET] Assembly Verzeichnis
[C#] Assembly Verzeichnis
[C#] .NET Komponente für COM zur Verfügung stellen
[VB.NET] Assembly Verzeichnis 2
[C#] GUID des aktuellen Assembly ermitteln
[C#] Windows Forms Anwendungs-Sessions verwalten

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.