Требуются ли пользовательские Winforms для управления автоматически созданными файлами дизайнеров? - PullRequest
1 голос
/ 19 ноября 2009

Visual Studio создает код, подобный следующему:

namespace MyCustomControls
{
    partial class MyCustomControl
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary> 
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose ( bool disposing )
        {
            if ( disposing && ( components != null ) )
            {
                components.Dispose ( );
            }
            base.Dispose ( disposing );
        }

        #region Component Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent ( )
        {
            components = new System.ComponentModel.Container ( );
        }

        #endregion
    }
}

Ответы [ 4 ]

3 голосов
/ 19 ноября 2009

Пользовательский файл конструктора важен, если вы используете поверхность конструктора для размещения дочерних элементов управления и т. Д. (В общем, что-нибудь в конструкторе). Если вы не делаете это (например, вы используете пользовательское рисование или добавляете дочерние элементы управления вручную), то вы обычно можете довольно безопасно убить этот файл.

В некоторых случаях это облегчает реализацию Dispose() и т. Д.

1 голос
/ 19 ноября 2009

Вы получаете эти файлы, частичную настройку класса и поверхность Design, потому что вы начали с шаблона CustomControl.

Вы также можете запустить элемент управления, добавив «Новый класс» и добавив только то, что вам действительно нужно. Если вы не используете конструктор (и обычно не используете CustomControl), его использование только мешает.

1 голос
/ 19 ноября 2009

Нет, код, сгенерированный на начальном этапе создания нового пользовательского элемента управления, не требуется. Он не делает ничего функционального и может быть закомментирован из вашего приложения.

Однако в тот момент, когда вы что-то делаете со своим пользовательским элементом управления в конструкторе, в файл конструктора будет сгенерирован важный и полезный код. Такие как создание любых добавленных элементов управления, подключение обработчика событий и базовая инициализация и макет. Этот код не может быть удален.

0 голосов
/ 19 ноября 2009

Строго говоря, я так не думаю, но тогда вы потеряете выгоду времени проектирования, которую вы получите при создании элемента управления, и я предполагаю, что VS будет пытаться воссоздать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...