vb.net 2008/2010 tabcontrol и код - PullRequest
       21

vb.net 2008/2010 tabcontrol и код

0 голосов
/ 09 февраля 2011

Я ищу способ использовать элемент управления вкладками в моей главной форме и перенести все 3 другие формы в эту основную форму, которая имеет элемент управления вкладками.Проблема в том, что некоторые функции названы одинаково в каждой из отдельных форм, которые я хочу объединить в одну для элемента управления вкладками.

Есть ли способ разделить код для каждой формы НА основную формуэлемент управления вкладками, поэтому мне не нужно переименовывать / перекодировать каждую из 3 форм, которые я хочу поместить в основную форму элемента управления вкладками?

Например: в Form1 есть функция upDateMe () form2есть функция с именем upDateMe ()

Так что теперь главная форма будет выглядеть так:

Friend Class frmPW
  Function sub upDateMe()
     blah blah
  End Function

  Function sub upDateMe()
     blah blah
  End Function

, поэтому, когда я помещаю код form1 и form2 в основную форму, где находится элемент управления табуляции, это скажет мне, что у меня есть дублированное имя функции.

Спасибо за любую помощь!

Дэвид

Ответы [ 2 ]

0 голосов
/ 09 февраля 2011

Рассмотрим элементы управления пользователя.

Существует множество примеров. Возможно, вы захотите начать с этого пошагового руководства по MSDN: Пошаговое руководство. Создание составного элемента управления с помощью Visual Basic

Одна вещь, на которую нужно обратить внимание: тип проекта, который вы создадите, на самом деле «Библиотека управления Windows Forms», а не «Библиотека управления Windows», как в разделе «Создание проекта», шаг 2.

Вы должны создать пользовательский элемент управления для каждой формы в вашем проекте. Каждый из этих UC может быть добавлен на вкладку в главной форме и может рассматриваться как любой другой стандартный элемент управления Windows.

Например, вы можете создать UC для формы1 с именем ctlForm1 и добавить ее на панель инструментов Visual Studio. Вы можете использовать дизайнер WinForm, чтобы перетащить экземпляр вашего элемента управления на вкладку в новой главной форме и вызвать его, скажем, ucForm1. Чтобы вызвать метод upDateMe UC, достаточно просто вызвать:

ucForm1.upDateMe()

Вы можете создать UC для своей формы2, добавить его на панель инструментов и поместить его экземпляр на другую вкладку в главной форме (вызывая этот экземпляр ucForm2). Вы можете вызвать метод upDateMe этого элемента управления следующим образом:

ucForm2.upDateMe()

Вы захотите узнать о пользовательских элементах управления; это отличный способ инкапсулировать логику, события и элементы пользовательского интерфейса в конкретные, повторно используемые компоненты.

0 голосов
/ 09 февраля 2011

Почему бы не добавить what в качестве параметра к sub-update?Я не знаю, что делают функции, но предполагая, что они загружают некоторые данные и привязывают к ним элементы управления, вы можете предоставить параметр, который вы можете использовать для разделения источника логики / данных.

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

И последнее, но не менее важное: вы можете инкапсулировать всю бизнес-логику и привязку данных в одном классе / UserControl и создать его экземпляр для каждой бывшей формы.

...