Как создать копию / ссылку пользовательского элемента в элементе управления вкладкой? - PullRequest
0 голосов
/ 21 декабря 2009

У меня есть приложение форм .NET, использующее элемент управления вкладками с несколькими вкладками. Есть несколько элементов (кнопка и несколько текстовых полей), которые должны отображаться на каждой вкладке. Вместо того, чтобы создавать 5 отдельных элементов (включая все соответствующие свойства), есть ли способ создать «ссылки» на один элемент?

Например, когда происходит событие, мне нужно текстовое поле для отображения одинаковой информации на каждой вкладке. В нынешнем виде мне нужно создать новое текстовое поле для каждой вкладки, а затем явно написать для каждой. Было бы проще просто написать в одно текстовое поле, а затем рассмотреть остальные «ссылки», которые автоматически обновляются.

Ответы [ 2 ]

2 голосов
/ 22 декабря 2009

Эти элементы управления действительно должны быть где-то еще, кроме TabPage. Но вы можете получить то, что хотите, реализовав событие SelectedIndexChanged и изменив Parent элемента управления. Этот пример кода сохраняет текстовое поле на выбранной вкладке:

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
        textBox1.Parent = tabControl1.SelectedTab;
    }
1 голос
/ 21 декабря 2009

Извините, нет никакого способа сделать это. элементы управления формы являются детьми этой формы, они не могут быть одновременно дочерними элементами нескольких форм. (вкладка - это в основном подформа).

Вы можете либо создать массив ссылок на все текстовые поля, которые вы хотите вести себя одинаково, и писать во все из них, когда пишете в одно из них. Или же храните текст в каком-либо месте за пределами текстового поля и обновляйте текстовое поле на видимой вкладке, когда пользователь изменяет вкладки.

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