Winform Form konstruktér vs události Load

hlasů
9

Když se načte formulář, kód musí dělat věci, jako je nastavení datagrids, ComboBoxes nastavit titul, atd. Jsem inklinoval vždy použít událost zatížení spíše než nové (konstruktéra). Existují nějaké pokyny, u nichž jeden je pro jaké činnosti nejlepší?

Položena 05/11/2008 v 06:25
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
0

V podstatě chcete, aby vaše konstruktor být tak lehké, jak je to možné. Snažím se dát většinu věcí v obsluze události Load jak byly vytvořeny prvky uživatelského rozhraní a jsou použitelné v tomto okamžiku. Domnívám se však, obvykle instance třídy objektů atd. V konstruktoru, jak to je ve skutečnosti součástí konstrukci objektu. Někdy nemůžete dát věci na jednom místě nebo jiný, ale i pro dobu, kdy je to možné, měli byste prostě dát je tam, kde se zdá nejvhodnější.

Odpovězeno 05/11/2008 v 06:43
zdroj uživatelem

hlasů
2

Volání InitializeComponent je automaticky vložena do konstruktoru vašeho formuláře / stránku. InitializeComponent je automaticky generované metoda, která

  • vytváří různé prvky uživatelského rozhraní na WinForm XAML stránku /
  • inicializuje jejich vlastnosti s hodnotami uloženými v souboru zdrojů

Takže něco v souvislosti s UI uspořádání / úpravy by měly jít po této výzvě. Pokud to uděláte v obcházení Form.OnLoad, máte jistotu, že UI je připraven jít (InitializeComponent byl nazýván) ... tak bych volil držet onLoad pro UI.
Vytváření členové non-UI, konstruktér by bylo místo, kde jsem se poprvé podívat.

Odpovězeno 05/11/2008 v 07:38
zdroj uživatelem

hlasů
1

Mějte na paměti, že bude vytvořen / vykonán při které tvoří stvoření něco v konstruktoru formuláře. jím:

Forma FRM = nová forma ();

Vzhledem k tomu, něco v události Load dojde pouze tehdy, když je formulář zobrazen tj frm.Show ();

Odpovězeno 05/11/2008 v 10:46
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more