С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
 Аватар для chaleureux
25 / 28 / 19
Регистрация: 24.12.2014
Сообщений: 1,260

Динамически добавить UserControl's

06.11.2016, 23:54. Показов 1829. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь сделать по типу что на видео: Dynamically Loading User Control, но не получается!
В самом UserControl'e делаю так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public partial class My_UserControl : UserControl
    {
        private static My_UserControl _instance;
        public static My_UserControl Instance
        {
            get
            {
                if (_instance == null)
                    _instance = new My_UserControl();
                return _instance; 
            }
        }
        public My_UserControl()
        {
            InitializeComponent();
        }
В самой главной форме ( Form1) делаю так:
На кнопку вызова usercontrol'а
C#
1
2
3
4
5
6
7
8
9
10
private void MenuYourKey_Click_1(object sender, EventArgs e)
        {
            if (panel.Controls.Add(My_UserControl.Instance))
            {
                My_UserControl.Instance.Dock = DockStyle.Fill;
                My_UserControl.Instance.BringToFrong();
            }
            else
                My_UserControl.Instance.BringToFront();
        }
HTML5
1
А мне пишет что My_UserControl не существует в текущем контексте
Что я делаю не так?
И можно сделать без panel просто на форме распределить?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2016, 23:54
Ответы с готовыми решениями:

Динамически подгружать UserControls в зависимости от поля Type во ViewModel
День добрый! Прошу помощи. Есть несколько UserControls: forms:UserControl1 forms:UserControl2 forms:UserControl3 ...

Все UserControls комрилируются в эту DLL? И можно не передавать source of UserControls?
У меня вопрос и не могу найти ответ. Компиляция в VS.NET. В bin директории компилируется файл progecName.bin. После посроения...

UserControls из других UserControls
Добрый день. Вопрос на засыпку, а составлять UserControls из других UserControls это хорошая практика или лучше этим не заниматься?

8
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
06.11.2016, 23:59
Лучший ответ Сообщение было отмечено chaleureux как решение

Решение

Цитата Сообщение от chaleureux Посмотреть сообщение
Что я делаю не так?
Пространства имён, наверное, разные у формы и у твоего контрола
Цитата Сообщение от chaleureux Посмотреть сообщение
И можно сделать без panel просто на форме распределить?
Зачем же вручную, если нужно распределить, а не как зря разместить?
1
 Аватар для chaleureux
25 / 28 / 19
Регистрация: 24.12.2014
Сообщений: 1,260
07.11.2016, 00:21  [ТС]
Цитата Сообщение от ViterAlex Посмотреть сообщение
Пространства имён, наверное, разные у формы и у твоего контрола
Спасибо,) всё верно, намутил)
Цитата Сообщение от ViterAlex Посмотреть сообщение
Зачем же вручную, если нужно распределить, а не как зря разместить?
Я подумал что можно ли ещё как нибудь замутить)

Добавлено через 6 минут
ViterAlex, Вроде сделал всё правильно, ошибок нету, но вот когда я пытаюсь вызвал контрол, он не показывается в panel

Добавлено через 11 минут
Вот так работает: Но правильно ли?
C#
1
2
3
4
5
6
7
8
9
10
11
private void MenuYourKey_Click_1(object sender, EventArgs e)
        {
            if (!panel.Controls.Contains(YourKeyActive.Instance))
            {
                panel.Controls.Add(YourKeyActive.Instance);
                YourKeyActive.Instance.Dock = DockStyle.Fill;
                YourKeyActive.Instance.BringToFront();
            }
            else
                YourKeyActive.Instance.BringToFront();
        }
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
07.11.2016, 00:24
Зачем результат метода Add (который имеет тип void) ты отправляешь в if?
0
 Аватар для chaleureux
25 / 28 / 19
Регистрация: 24.12.2014
Сообщений: 1,260
07.11.2016, 00:27  [ТС]
Цитата Сообщение от ViterAlex Посмотреть сообщение
Зачем результат метода Add (который имеет тип void) ты отправляешь в if?
А у меня по другому не работает
Как можно сделать лучше?
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
07.11.2016, 01:00
Цитата Сообщение от chaleureux Посмотреть сообщение
Как можно сделать лучше?
Поясни, чего ты хочешь добиться своим условием
0
 Аватар для chaleureux
25 / 28 / 19
Регистрация: 24.12.2014
Сообщений: 1,260
07.11.2016, 10:12  [ТС]
ViterAlex, По клику кнопки вызвать определенный user control!
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
07.11.2016, 11:52
ViterAlex,
Это в #1 было неправильно, а в #3 уже правильный код. Там в if передан результат Contains.
0
 Аватар для chaleureux
25 / 28 / 19
Регистрация: 24.12.2014
Сообщений: 1,260
07.11.2016, 12:18  [ТС]
А можно приложить к UserControl анимацию (AnimateWindowAPI) ?
Чтобы можно было вызывать определенный контрол с анимацией!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.11.2016, 12:18
Помогаю со студенческими работами здесь

Как на динамически созданную панель добавить динамически созданную кнопку?
Добрый день, у меня вопрос как на динамически созданную панель добавить динамически созданную кнопку. private void...

Динамически добавить textbox
Привет всем. Как можно динамически добавить textbox в заранее существующую ячейку таблицы.

Динамически добавить метод класса
Доброго времени суток уважаемые! Подскажите пожалуйста, как реализовать данную задачу: Дано 2(3) файла PHP: class c1 { ...

Динамически добавить кнопку в GridView
Увы я очень мало сталкиваюсь с GridView. Однако сейчас у меня задача. Есть GridView готовый и все работает. В БД добавили еще...

Динамически добавить мувиклип на сцену
Здравствуйте. Столкнулся с проблемой. Есть класс Player описанный в отдельном файле package Game { import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru