пользовательский контроль с текстовым полем - PullRequest
0 голосов
/ 16 августа 2010

У меня есть пользовательский элемент управления с текстовым полем в приложении Win Form. Я хотел бы изменить свойство этого текстового поля, используя окно свойств Visual Studio. Я использую этот элемент управления в различных формах одного и того же проекта, возможно ли это? Я установил свойство модификатора текстового поля как общедоступное и установил следующее свойство в пользовательском элементе управления:

  public TextBox mytextBox
        {
            get { return textBox1; }
            set { textBox1 = value; }
        }

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 16 августа 2010

Каково намерение сделать это?Вы пытаетесь иметь «один элемент управления TextBox, совместно используемый несколькими формами» (это не совсем практично).Однако вы можете настроить свои формы таким образом, чтобы все формы обновлялись в ответ на одно изменение.

0 голосов
/ 16 августа 2010
[TypeConverter(typeof(ExpandableObjectConverter))]
public TextBox mytextBox
{
    get { return textBox1; }
    set { textBox1 = value; }
}

Примечания:

  1. С точки зрения PropertyGrid, в этом случае сеттер не имеет никаких преимуществ; свойства уже назначенного TextBox изменяются на месте.
  2. Не забудьте создать начальное значение и добавить TextBox в коллекцию элементов управления UserControl. Если вы использовали конструктор VS для создания TextBox, это уже должно быть сделано. Если вы обнаружите, что метод конструктора VS InitializeComponents() отменяет ваши изменения, создайте и добавьте элемент управления самостоятельно.
  3. Возможно, вам придется перестроить проект и / или снова открыть конструктор форм, чтобы изменения стали видимыми.
  4. Не по теме: используйте Pascal-case для свойств и автоматически реализованный шаблон get;set; для удобочитаемости, если это вообще возможно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...