Laden...

DLL einbinden (MenuStrop)

Erstellt von fab84 vor 18 Jahren Letzter Beitrag vor 18 Jahren 8.518 Views
F
fab84 Themenstarter:in
42 Beiträge seit 2005
vor 18 Jahren
DLL einbinden (MenuStrop)

Hallo zusammen 😮)

Mein Projektpartner hat eien DLL geschriebn mit der ein fix fertiges StripMenu erzeugt werden soll. Somit kann ich das StripMenu für alle Forms übernhemen udn muss es nich immer neu erstellen. Doch es gibt ein Problem. Wie bind ich diese DLL in mien Programm ein?? es muss ja irgendwie zu den Controls hinzugefügt werde.
An welcher stelel muss ich es einbinden und wie muss ich es aufrufen??
Vielliche kann mir da ja jemand weiterhelefen.
Ich verwende das Visual C# Express 2005

DANKE im voraus
lg Fab

PS.:Die DLL befindet sich in Anhang.

P
939 Beiträge seit 2003
vor 18 Jahren

Hi Fab84,

in VC# 2005 Beta2 gibt es im Menü den Punkt "Tools/Choose Toolbox Items ...". Im sich öffnenden Dialog kann über die Browse-Schaltfläche eine Dll aus dem Dateisystem zur Liste der verfügbaren Controls hinzugefügt werden. Dann noch die Checkbox mit dem Control markieren und der MenuStrip sollte in der Designer-Toolbox erscheinen.

Nicht vergessen, dass die Dll zum Compilieren auch im Projekt eingebunden sein muss (der Compiler muss die Dll finden). Dazu die besagte Dll im Solution Explorer unter "References" hinzufügen. Nur sicherheitshalber, ich weiss nicht ob der Designer das auch automatisch macht.

Gruss
Pulpapex

PS: verschoben nach "Integrierte Entwicklungsumgebungen"

F
fab84 Themenstarter:in
42 Beiträge seit 2005
vor 18 Jahren

Hi 😉

DANKE für die Antwort 😉

Ja aber, dann wird der MenüStrip nicht dynamsisch erzeugt sonder ich habe ein neues Tool in der Toolbar oder? Und das kann ich dann in den verschiedenen Forms einfügen oder? ich hätte es gern dynamisch, dass es beim starten des Programms automatishc initializiert wird 😮)

lg Fab

in der DLL steht ja nur folgender Code:

public menue()
{
MessageBox.Show("Jo do hinna isch a mol");

        this.menuStrip1 = new MenuStrip();  
        this.dVDToolStripMenuItem = new ToolStripMenuItem();  
        this.erstellenToolStripMenuItem = new ToolStripMenuItem();  
        this.bearbeitenlöschenToolStripMenuItem = new ToolStripMenuItem();  
        this.personToolStripMenuItem = new ToolStripMenuItem();  
        this.erstellenToolStripMenuItem1 = new ToolStripMenuItem();  
        this.bearbeitenlöschenToolStripMenuItem1 = new ToolStripMenuItem();  
        this.dVDListeToolStripMenuItem = new ToolStripMenuItem();  
        this.verleihToolStripMenuItem = new ToolStripMenuItem();  
        this.ausleihenToolStripMenuItem = new ToolStripMenuItem();  
        this.geliehenToolStripMenuItem = new ToolStripMenuItem();  
        this.menuStrip1.SuspendLayout();  

         
        //  
        // menuStrip1  
        //   
        this.menuStrip1.Items.AddRange(new ToolStripItem[] {  
        this.dVDToolStripMenuItem,  
        this.personToolStripMenuItem,  
        this.dVDListeToolStripMenuItem,  
        this.verleihToolStripMenuItem});  
        this.menuStrip1.Location = new Point(0, 0);  
        this.menuStrip1.Name = "menuStrip1";  
        this.menuStrip1.Padding = new Padding(6, 2, 0, 2);  
        this.menuStrip1.Raft = RaftingSides.Top;  
        this.menuStrip1.TabIndex = 0;  
        this.menuStrip1.Text = "menuStrip1";  
    

//
// dVDToolStripMenuItem
//
this.dVDToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] {
this.erstellenToolStripMenuItem,
this.bearbeitenlöschenToolStripMenuItem});
this.dVDToolStripMenuItem.Name = "dVDToolStripMenuItem";
this.dVDToolStripMenuItem.SettingsKey = "Form1.dVDToolStripMenuItem";
this.dVDToolStripMenuItem.Text = "DVD";
//
// erstellenToolStripMenuItem
//
this.erstellenToolStripMenuItem.Name = "erstellenToolStripMenuItem";
this.erstellenToolStripMenuItem.SettingsKey = "Form1.erstellenToolStripMenuItem";
this.erstellenToolStripMenuItem.Text = "erstellen";
//
// bearbeitenlöschenToolStripMenuItem
//
this.bearbeitenlöschenToolStripMenuItem.Name = "bearbeitenlöschenToolStripMenuItem";
this.bearbeitenlöschenToolStripMenuItem.SettingsKey = "Form1.bearbeitenlöschenToolStripMenuItem";
this.bearbeitenlöschenToolStripMenuItem.Text = "bearbeiten/ löschen";
//
// personToolStripMenuItem
//
this.personToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] {
this.erstellenToolStripMenuItem1,
this.bearbeitenlöschenToolStripMenuItem1});
this.personToolStripMenuItem.Name = "personToolStripMenuItem";
this.personToolStripMenuItem.SettingsKey = "Form1.personToolStripMenuItem";
this.personToolStripMenuItem.Text = "Person";
//
// erstellenToolStripMenuItem1
//
this.erstellenToolStripMenuItem1.Name = "erstellenToolStripMenuItem1";
this.erstellenToolStripMenuItem1.SettingsKey = "Form1.erstellenToolStripMenuItem1";
this.erstellenToolStripMenuItem1.Text = "erstellen";
//
// bearbeitenlöschenToolStripMenuItem1
//
this.bearbeitenlöschenToolStripMenuItem1.Name = "bearbeitenlöschenToolStripMenuItem1";
this.bearbeitenlöschenToolStripMenuItem1.SettingsKey = "Form1.bearbeitenlöschenToolStripMenuItem1";
this.bearbeitenlöschenToolStripMenuItem1.Text = "bearbeiten/ löschen";
//
// dVDListeToolStripMenuItem
//
this.dVDListeToolStripMenuItem.Name = "dVDListeToolStripMenuItem";
this.dVDListeToolStripMenuItem.SettingsKey = "Form1.dVDListeToolStripMenuItem";
this.dVDListeToolStripMenuItem.Text = "DVD-Liste";
//
// verleihToolStripMenuItem
//
this.verleihToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] {
this.ausleihenToolStripMenuItem,
this.geliehenToolStripMenuItem});
this.verleihToolStripMenuItem.Name = "verleihToolStripMenuItem";
this.verleihToolStripMenuItem.SettingsKey = "Form1.verleihToolStripMenuItem";
this.verleihToolStripMenuItem.Text = "Verleih";
//
// ausleihenToolStripMenuItem
//
this.ausleihenToolStripMenuItem.Name = "ausleihenToolStripMenuItem";
this.ausleihenToolStripMenuItem.SettingsKey = "Form1.ausleihenToolStripMenuItem";
this.ausleihenToolStripMenuItem.Text = "ausleihen";
//
// geliehenToolStripMenuItem
//
this.geliehenToolStripMenuItem.Name = "geliehenToolStripMenuItem";
this.geliehenToolStripMenuItem.SettingsKey = "Form1.geliehenToolStripMenuItem";
this.geliehenToolStripMenuItem.Text = "geliehen";

        this.menuStrip1.ResumeLayout(false);  
    }
P
939 Beiträge seit 2003
vor 18 Jahren

Ich weiss nicht was du mit "dynamisch" meinst. Wenn du das Menü ohne den Designer hinzufügen möchtest, wie gehabt die Referenz zum Projekt hinzufügen und in der Form deiner Anwendung folgenden Code einfügen:

public class MainForm : Form {

   public MainForm() {

      InitializeComponent();

      // Diesen Code einfügen.
      // die menue-Klasse sollte von MenuStrip abgeleitet sein.
      this.MainMenuStrip = new menue();
   }
}
F
fab84 Themenstarter:in
42 Beiträge seit 2005
vor 18 Jahren

Hi

Ja und kann ich jetz an der stelle die DLL einbinden?

Normal ruf ich eine dll ja mit : (Menuelib.dll)

Menuelib.menue Menue = new Menulib.menue();

auf.

Ich habe eienn Tipp Bekommen

this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.Menu = this.mainMenu1;

aber ich weiss jetz nicht an welcher stell dieser Code eingefügt werden soll und
was jetz manManu1 und Menu ist 🙂

lg Fab

P
939 Beiträge seit 2003
vor 18 Jahren

Hmm, ich glaub ich red undeutlich. Noch ein letztes Mal: die DLL mit dem Menü muss im "Solution Explorer" unter "References" hinzugefügt werden. Dann stehen die in der DLL definierten Klassen, in dem Fall die Menuelib.menue-Klasse, in deinem Projekt zu Verfügung und können im Code verwendet werden.

F
fab84 Themenstarter:in
42 Beiträge seit 2005
vor 18 Jahren

Ok ich probiers 😉

Es hängt aber nur vom Aufruf ab.
Das Einbinden mit dem Reference und using menulib hab ich natürlich gemacht scho, dass ist ja bei jeder DLL gleich.

Ich probiers jetz einfach nochmal

DANKE

P
939 Beiträge seit 2003
vor 18 Jahren

Vielleicht liegt es auch daran, dass Menulib.menue gar nicht von MenuStrip ableitet. Wen dem so ist, muss die Klasse wenigstens ein MenuStrip per Eigenschaft veröffentlichen.

// menue-Klasse aus der DLL instanziieren.
menue m = new menue();

// MenuStrip bei der Form setzen.
this.MainMenuStrip = m.MenuStrip1;

Wenn das auch nicht der Fall ist, kannst du die DLL vergessen.

F
fab84 Themenstarter:in
42 Beiträge seit 2005
vor 18 Jahren

Hi ;o)

DANKE

Ja ich glaub auch, dass es eher an da DLL liegt. Nur was dort der fehler ist weiß ich auch nicht. Beim ersten Beitrag befindet sich eh der ganz Code im Anhang.

lg Fab