Когда форма загружается, код должен делать такие вещи, как установочные datagrids, comboboxes, установить заголовок и т. Д. Я обычно использовал событие load, а не новый (конструктор). Существуют ли какие-либо рекомендации, для которых лучше всего заниматься какой-либо деятельностью?Winforms Form Constructor vs Load event
ответ
В принципе, вы хотите, чтобы ваш конструктор был максимально легким. Я пытаюсь поместить большинство вещей в обработчик события загрузки, поскольку элементы пользовательского интерфейса были созданы и могут использоваться в это время. Однако я обычно создаю объекты класса и т. Д. В конструкторе, поскольку он фактически является частью построения объекта. Иногда вы не можете помещать вещи в одно место или другое, но на время, когда можете, вы должны просто поместить их там, где это кажется наиболее подходящим.
Читайте здесь, почему наоборот: http://stackoverflow.com/a/2522999/4136325 – 2016-09-02 08:34:27
Вызов InitializeComponent автоматически вставляется в конструктор вашей формы/страницы. InitializeComponent является автоматически сгенерированный метод, который
- создает различные элементы пользовательского интерфейса на странице/XAML Winform
- инициализирует их свойства значений, хранящихся в файле ресурсов
Так что связано с UI расположение/модификации должны идти после этот звонок. Когда вы делаете это в переопределении Form.OnLoad, вы уверены, что пользовательский интерфейс готов к работе (InitializeComponent был вызван) ... поэтому я проголосовал за использование OnLoad для интерфейса.
Создание элементов, не являющихся членами UI, конструктором было бы местом, на котором я сначала посмотрел бы.
Имейте в виду, что что-либо в конструкторе формы будет создано/выполнено при создании этих форм. т. е. при:
Форма frm = новая форма();
Принимая во внимание, что что-либо в событии загрузки произойдет только в том случае, если форма показана i.e. frm.Show();
Обратите внимание, что есть также событие Shown. Событие загрузки происходит до того, как будет отображаться форма, но когда окно существует и макет выполнен. – 2016-09-02 08:33:08
- 1. Xamarin IOS Load View form Gesture Event
- 2. Winforms DataBinding vs PropertyChanged Event Ordering Issue
- 3. .load vs .on ("load")
- 4. Extjs 4 set combox values in form load event
- 5. Winforms MVP show mdi child form
- 6. Form Load Wont Run
- 7. templated constructor vs. templated copy constructor
- 8. C# Instance Constructor vs Static Constructor
- 9. Mapper vs Constructor
- 10. constructor vs. onNavigatedTo
- 11. Cakephp beforeFilter vs constructor
- 12. php constructor vs callback
- 13. C# winforms form show cmd
- 14. Symfony form и entity constructor
- 15. form constructor and annotation bialder
- 16. winforms remove event handler
- 17. .NET Click Event (WinForms)
- 18. MFC on form create event
- 19. To Form Load() или Not to Form Load()
- 20. Javascript/JQuery on load event
- 21. memory_order_relaxed load vs volatile load
- 22. Winforms Click Event Not Firing
- 23. keypress event vs click event
- 24. Event Capturing vs Event Bubbling
- 25. IsInRole - VB Form Load
- 26. Symfony: ajax form load
- 27. MS Access Form Load
- 28. jquery load vs ajax for form post submission
- 29. Close Form Button Event
- 30. form javascript submit event
Возможный дубликат [Какой код установки должен идти в конструкторе форм по сравнению с событием загрузки формы?] (Http://stackoverflow.com/questions/2521322/what-setup-code-should-go-in-form-constructors- versus-form-load-event) – 2016-09-02 08:31:34