2014-07-10 12 views
9

Ho creato librerie di classi DLL in C#, utilizzate come componenti aggiuntivi per un'applicazione che fornisce un'API personalizzata. Fino ad ora hanno incluso principalmente l'interfaccia con database, calcoli, operazioni su disco e così via. Sono curioso di sapere se posso compilare e visualizzare un Windows Form, visualizzando caselle di testo, pulsanti e così via, all'interno di una libreria di classi DLL?È possibile creare un Windows Form in una libreria di classi C#?

ho provato:

using System.Windows.Forms; 

Ma questo spazio dei nomi non è riconosciuto.

Grazie per l'input.

+0

Ho appena fatto clic sulla libreria di classi> Aggiungi> Nuovo elemento> Modulo finestra senza problemi. Mi sto perdendo qualcosa? –

+0

In aggiunta alle clausole usa anche confrontare i riferimenti a quelli di un progetto di moduli! – TaW

risposta

-1

se il nuovo modulo è già in un progetto di Windows che deve rimanere finestre applicazione ..

prova questi passaggi non so se questo è ciò che si vuole ... spero che aiuta.

  1. Crea nuovo Progetto DLL
  2. Copia Form.cs, FormDesigner.cs e form.resx nella nuova cartella progetto DLL
  3. Add Existing
+0

Questa è una soluzione 'a' ma non è conveniente. Invece, vorrei creare un progetto di applicazione Windows Form e modificare il tipo di output nella libreria di classi. Ciò aiuterebbe con l'aggiunta di riferimenti richiesti e il loro utilizzo. –

4

Sì, è possibile. È necessario aggiungere un riferimento a System.Windows.Forms nel progetto libreria di classi (fare clic con il tasto destro del mouse su progetto -> Aggiungi -> Riferimento)

+1

Anche System.Drawing – majjam

5

Ciò che trovo più utile per me è creare un nuovo progetto Windows Form e quindi andare a le proprietà del progetto e cambiarlo in una libreria di classi. In questo modo, puoi fare clic con il tasto destro del mouse sulle cartelle in Solution Explorer e tutti gli elementi di WinForms appaiono come se fosse ancora un progetto WinForms, ma è una libreria di classi. Questo funziona anche con le applicazioni WPF.

4

È possibile utilizzare Windows Form all'interno della libreria di classi. Esistono alcuni scenari:

  1. Si sta aggiungendo un modulo alla libreria utilizzando FormDesigner. È possibile fare clic con il pulsante destro del mouse sul nome del progetto, fare clic su Aggiungi e quindi in Windows. È necessario aggiungere i riferimenti necessari per il modulo

  2. Si sta copiando un modulo da un altro progetto. In questo caso Visual Studio non sarà in grado di identificare il modulo e lo mostrerà come semplice file sorgente C#. In questo caso, fare clic con il pulsante destro del mouse su Riferimenti nel progetto in Visual Studio. Fare clic su Aggiungi riferimenti e selezionare Framework dal riquadro sinistro. Selezionare System.Windows.Form e System.Drawing e fare clic su OK. Questo dovrebbe rendere il modulo comprensibile a Visual Studio e puoi progettarlo modificarlo utilizzando Form Designer.

  3. Se si sta creando un modulo utilizzando il codice, aggiungere i riferimenti agli assembly richiesti come indicato nel passaggio 2. Si dovrebbe essere in grado di utilizzare System.Windows.Form nel proprio progetto con l'istruzione using System.Windows.Form;.