Risoluzione dei problemi relativi alla modifica di controlli e componenti
Aggiornamento: novembre 2007
In questo argomento è riportato l'elenco dei problemi comuni riscontrati durante lo sviluppo di componenti e controlli. Per ulteriori informazioni, vedere Programmazione con i componenti.
Impossibile aggiungere il controllo alla Casella degli strumenti
Impossibile eseguire il debug del componente o del controllo utente Windows Form
Evento generato due volte in un controllo o un componente ereditato
Errore di progettazione: "Impossibile creare il componente 'nome componente'".
STAThreadAttribute
L'icona del componente non viene visualizzata nella Casella degli strumenti
Impossibile aggiungere il controllo alla Casella degli strumenti
L'aggiunta di un controllo personalizzato creato in un altro progetto o di un controllo di terze parti alla Casella degli strumenti è un'operazione manuale. Il controllo o il componente, se contenuto nel progetto corrente, viene automaticamente visualizzato nella Casella degli strumenti. Per ulteriori informazioni, vedere Procedura dettagliata: compilare automaticamente la casella degli strumenti con componenti personalizzati.
Per aggiungere un controllo alla Casella degli strumenti
Fare clic con il pulsante destro del mouse sulla Casella degli strumenti e selezionare Scegli elementi dal menu di scelta rapida.
Nella finestra di dialogo Scegli elementi della Casella degli strumenti, aggiungere il componente:
Se si desidera aggiungere un componente o un controllo .NET Framework, fare clic sulla scheda Componenti di .NET Framework.
Oppure
Se si desidera aggiungere un componente COM o un controllo ActiveX, fare clic sulla scheda Componenti COM.
Se il controllo è incluso nell'elenco visualizzato nella finestra di dialogo, verificare che sia selezionato, quindi scegliere OK.
Il controllo verrà aggiunto alla Casella degli strumenti.
Se il controllo è incluso nell'elenco visualizzato nella finestra di dialogo, effettuare quanto riportato di seguito:
Scegliere il pulsante Browse.
Individuare la cartella che contiene il file DLL in cui è presente il controllo.
Selezionare il file DLL e fare clic su Apri.
Il controllo verrà visualizzato nella finestra di dialogo.
Assicurarsi che il controllo sia selezionato, quindi scegliere OK.
Il controllo verrà aggiunto alla Casella degli strumenti.
Impossibile eseguire il debug del componente o del controllo utente Windows Form
Se il controllo deriva dalla classe UserControl, è possibile eseguire il debug del comportamento in fase di esecuzione con Test Container. Per ulteriori informazioni, vedere Procedura: eseguire il test del comportamento in fase di esecuzione di UserControl.
Altri controlli e componenti personalizzati non sono progetti autonomi. e devono essere ospitati da un'applicazione, quale un progetto Windows Form. Per eseguire il debug di un controllo o di un componente, è quindi necessario aggiungerlo a un progetto Windows Form.
Per eseguire il debug di un controllo o di un componente
Scegliere Genera soluzione dal menu Genera per generare la soluzione.
Scegliere Aggiungi dal menu File, quindi Nuovo progetto per aggiungere un progetto di test all'applicazione.
Nella finestra di dialogo Aggiungi nuovo progetto scegliere Applicazione Windows come tipo del progetto.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo Riferimenti del nuovo progetto. Scegliere Aggiungi riferimento dal menu di scelta rapida per aggiungere un riferimento al progetto che contiene il controllo o il componente.
Creare un'istanza del controllo o del componente nel progetto di test. Se il componente si trova nella Casella degli strumenti, è possibile trascinarlo nell'area di progettazione oppure creare l'istanza a livello di codice come riportato nell'esempio di codice che segue:
Dim Component1 As New MyNeatComponent()
MyNeatComponent Component1 = new MyNeatComponent();
È ora possibile eseguire il debug del controllo o del componente seguendo la normale procedura.
Per ulteriori informazioni sul debug, vedere Debug in Visual Studio e Procedura dettagliata: debug di controlli di Windows Form personalizzati in fase di progettazione.
Evento generato due volte in un controllo o un componente ereditato
Il problema potrebbe dipendere da una clausola Handles duplicata. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai gestori eventi ereditati in Visual Basic.
Errore in fase di progettazione: "Impossibile creare il componente 'nome del componente'"
È necessario che il componente o il controllo forniscano un costruttore predefinito senza parametri. Quando l'ambiente di progettazione crea un'istanza del componente o del controllo, non tenta di fornire i parametri agli overload del costruttore che accettano i parametri.
STAThreadAttribute
STAThreadAttribute informa Common Language Runtime (CLR) che Windows Form utilizza un modello di apartment a thread singolo. Si potrebbe notare un comportamento non previsto se non si applica l'attributo al metodo Main dell'applicazione Windows Form. Ad esempio, le immagini di sfondo potrebbero non essere visualizzate per i controlli come ListView. Per alcuni controlli potrebbe inoltre essere necessario questo attributo per il corretto comportamento delle operazioni di trascinamento della selezione e completamento automatico.
L'icona del componente non viene visualizzata nella Casella degli strumenti
Quando si utilizza ToolboxBitmapAttribute per associare un'icona al componente personalizzato, la bitmap non viene visualizzata nella casella degli strumenti per i componenti generati automaticamente. Per vedere la bitmap, ricaricare il controllo utilizzando la finestra di dialogo Scegli elementi della Casella degli strumenti. Per ulteriori informazioni, vedere Procedura: specificare una bitmap nella casella degli strumenti per un controllo.
Vedere anche
Attività
Procedura: eseguire il test del comportamento in fase di esecuzione di UserControl
Procedura dettagliata: debug di controlli di Windows Form personalizzati in fase di progettazione
Risoluzione dei problemi relativi allo sviluppo in fase di progettazione