У меня есть проект C++/CLI, в котором есть дочерняя форма с некоторыми компонентами управления. Я хотел бы скопировать все компоненты управления с их кодами на новый элемент управления Tab в основной форме. Как я могу это сделать?
Копирование компонентов управления
Ответы (1)
Вы можете выбрать все элементы управления в дизайнере (удерживайте нажатой клавишу Shift, чтобы сделать несколько выделений), а затем вырезать и вставить их на новое место: Ctrl+< kbd>X, Ctrl+V
Кроме того, вы можете открыть файл *.Designer
, автоматически сгенерированный конструктором Windows Forms, и скопировать соответствующие строки кода из этого файла в другой файл кода. Найдите код, создающий и устанавливающий свойства интересующих вас элементов управления. Для каждого свойства элемента управления, для которого вы установили значение, отличное от значения по умолчанию в конструкторе, в этом файле будет соответствующая строка.
Если вместо перемещения (вырезания) элементов управления из одного места в другое вы хотите скопировать элементы управления, чтобы они отображались в нескольких местах, я настоятельно рекомендую создать UserControl
который содержит все дочерние элементы управления и инкапсулирует соответствующий код. Затем вы можете просто перетащить экземпляр этого пользовательского UserControl
из своего набора инструментов в любую форму, которую вы хотите, или даже динамически создавать экземпляры во время выполнения. Это согласуется с общим принципом программирования/дизайна, который заключается в том, что вы должны стремиться свести к минимуму дублирование кода при максимально возможной инкапсуляции.