2009-03-23 15 views
9

Nel mondo di WinForms Net controllaComponente Vs controllo

Qual è la differenza tra il componente e di controllo?

Un controllo può contenere componenti? Un componente può contenere controlli?

+0

Questo articolo può aiutare: http://msdn.microsoft.com/en-us/library/0b1dk63b.aspx –

risposta

5

Un controllo ha tutti gli impianti idraulici necessari per fungere da finestra. La possibilità di rispondere ai messaggi Window (WndProc) e avere un Handle in primo piano. Il componente manca tutto questo. È davvero piuttosto semplice, ha un supporto per il design e può essere smaltito, questo è tutto.

I componenti possono ancora avere una rappresentazione runtime, OpenFileDialog è l'esempio migliore. Ma questa è in realtà una finestra di dialogo integrata in Windows, non in Windows Form.

+0

E sembra che i componenti non abbiano evento 'Load'. Quindi, come esegui l'inizializzazione che deve verificarsi dopo che il modulo che contiene il componente è stato caricato ??? –

+0

In generale, un componente non sa in che forma si trova in fase di runtime. Quindi non si preoccuperebbe nemmeno dello stato di caricamento del modulo e il costruttore è abbastanza buono da fare tutto l'inizializzazione richiesta. Fai clic sul pulsante Chiedi domanda per spiegare le tue esigenze. –

+0

Il mio componente è assolutamente interessato, poiché tutti i gestori di eventi sono nulli quando viene eseguito il costruttore. Puoi vedere la mia domanda [qui] (http://stackoverflow.com/questions/17332643/determining-when-the-owner-of-a-component-has-loaded). Grazie. –

1

Un componente è solo una rappresentazione di un'API oggetto/sub. per esempio. ImageList è un componente invisibile ed è solo un'API in un insieme di immagini. Il fatto che puoi trascinarli e rilasciarli sui moduli è solo zucchero nel designer.

Un controllo deve essere visibile/intercambiabile/annidabile.

+0

C'è altra parte della domanda pure. – NileshChauhan

0

In risposta al tuo commento, Component and Control può essere visto nel browser Object come proveniente da diverse gerarchie di oggetti. Un componente non può essere aggiunto all'interno di un controllo, poiché la raccolta Controls accetta solo oggetti con tipo base di Control.

Un componente non può contenere controlli.

1

A componente è fondamentalmente una classe (può essere una DLL, oggetto Activex).

  • Non ha funzionalità di un'interfaccia utente che è il motivo per cui non si può vedere una rappresentazione visiva.
  • È portatile e non specifico per nessuna lingua.

Mentre d'altra parte il controllo è un componente che fornisce funzionalità di interfaccia utente.

  • Dal controllo ha interfaccia utente, è possibile vedere la sua rappresentazione visiva.
  • È linguaggio specifico e non portatile.
Problemi correlati