Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 69

Не отображается объект на форме

20.02.2017, 12:10. Показов 3390. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Имеется программа-викторина, вопросы появляются на панелях, пользователь ответил на вопрос, панель скрывается (панель=false), появляется следующая (панель=true) и т.д. Всё работает. Встал вопрос о добавлении новых вопросов. Добавил по аналогии с предыдущими. Однако при добавлении новой панели, она никак не появляется на форме, хотя код аналогичен предыдущим вопросам. Скрывал все объекты, которые могут в теории перегораживать панель, но также она не появляется. Но самое интересное, что если расширить саму форму (была скажем 500; 500, а сделать 500; 1000 и на новое место поставить эту панель, она отлично видна и программа работает без ошибок. Подскажите, в чём может быть проблема (я новичок, так что она может быть самой очевидной). Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2017, 12:10
Ответы с готовыми решениями:

Не отображается объект в three.js
Сначала создал сферу, натянул на неё текстурку, все работало. Решил создать конструктор объектов, и что-то пошло не так. объект тупо не...

Не отображается дочерний объект в префабе
Доброго времени суток. Сейчас осваиваю Unity и столкнулся с проблемой. Есть префаб, например, Player, нужно добавить в него ещё один...

Объект формы отображается в Solution Explorer как класс
Здравствуйте. В процессе работы с решением одна форма приобрела вид класса, как вернуть её к истинной интерпретации? (При этом проект...

12
 Аватар для Harttman
69 / 69 / 28
Регистрация: 12.09.2013
Сообщений: 237
20.02.2017, 12:19
Покажите код программы
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
20.02.2017, 12:57
Axel93, возможно эту панель кто-то перекрывает. Открой окно Document Outline, посмотри где находится твоя панель и перетащи его на другое место.
0
0 / 0 / 2
Регистрация: 20.02.2017
Сообщений: 9
20.02.2017, 13:02
Попробуйте BringToFront();
0
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 69
20.02.2017, 13:09  [ТС]
Цитата Сообщение от HenryKovalevsky Посмотреть сообщение
Попробуйте BringToFront();
А куда именно это вставлять?
C#
1
2
3
foreach (Control c in this.Controls) { c.Hide(); }
panel7.Visible = true;
panel7.Enabled = true;
0
0 / 0 / 2
Регистрация: 20.02.2017
Сообщений: 9
20.02.2017, 13:10
Axel93, Когда сделаете свою панель видимой и включенной.
0
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 69
20.02.2017, 13:17  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Document Outline
Не могу найти его аналог для русской версии( Но по идее ничего не должно перекрывать, я всё скрывал:
foreach (Control c in this.Controls) { c.Hide(); }

Добавлено через 1 минуту
Цитата Сообщение от HenryKovalevsky Посмотреть сообщение
Axel93, Когда сделаете свою панель видимой и включенной.
Не помогло...
0
0 / 0 / 2
Регистрация: 20.02.2017
Сообщений: 9
20.02.2017, 13:39
Axel93, покажите свой код, связанный с панелью.
Вы же применяли метод panel7.BringToFront(), верно?
0
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 69
20.02.2017, 13:47  [ТС]
Цитата Сообщение от HenryKovalevsky Посмотреть сообщение
Axel93, покажите свой код, связанный с панелью.
Вы же применяли метод panel7.BringToFront(), верно?
C#
1
2
3
4
5
6
7
8
9
10
11
12
  private void button3_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Поздравляю, ты прошёл обучение!");
            MessageBox.Show("Гений", "Открыто новое достижение!");
            foreach (Control c in this.Controls) { c.Hide(); } 
            panel7.Visible = true;
            panel7.Enabled = true;
            panel7.BringToFront();
          
           
 
        }
Как я понял BringToFront должен поднимать панель надо всеми другими объектами на форме? Но по идее foreach (Control c in this.Controls) { c.Hide(); } также должно решать эту проблему. Пробовал делать панель изначально видимой в свойствах, её всё равно не видно даже в начале кода.
0
0 / 0 / 2
Регистрация: 20.02.2017
Сообщений: 9
20.02.2017, 13:58
Axel93, Вы поняли верно. С этой частью кода у вас проблем нет.
Попробуйте в режиме debug'a отследить поведение панели.
0
 Аватар для Spectral-Owl
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
20.02.2017, 14:40
эм... я боюсь вы просто свою седьмую панель впихнули не в саму форму, а в какую-то другую панель. а строчкой
Цитата Сообщение от Axel93 Посмотреть сообщение
foreach (Control c in this.Controls) { c.Hide(); }
вы скрыли обладателя седьмой панели.

естественна, даже если у самой седьмой Visible == true, но при этом она расположена внутри второй, Visible которой ==false, седьмая будет не видна.
0
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 69
20.02.2017, 14:41  [ТС]
Цитата Сообщение от HenryKovalevsky Посмотреть сообщение
Axel93, Вы поняли верно. С этой частью кода у вас проблем нет.
Попробуйте в режиме debug'a отследить поведение панели.
Спасибо за советы! Я разобрался, одна из панелей была очень большой и при создании новой она помещалась не на форму, а на старую панель(и соответственно скрывалась вместе с ней). Есть ли возможность вручную перетаскивать panel (ну или любой другой элемент) именно на форму, чтобы он не накладывался на другой элемент? (получается, если создавать левый верхний угол в самом левом углу формы, а потом перетаскивать, но способ не самый удобный)
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
20.02.2017, 19:24
Цитата Сообщение от Axel93 Посмотреть сообщение
Не могу найти его аналог для русской версии
Оно называется "Структура документа". Ищи его в меню "Вид" в подменю "Другие окна"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.02.2017, 19:24
Помогаю со студенческими работами здесь

Alternativa3d не отображается объект при добавлении через обработчик
В конструкторе Main() последняя строка (закоментрована) добавляет на сцену видимый объект - работает корректно, обект появляется над морем....

На форме ничего не отображается
Используется Access 2016 Структура Сделал форму со следующей структурой: Форма 1 Вкладка 1 Форма 2. Таблица 1. ...

Не отображается змейка на форме
Добрый день, столкнулся с проблемой. Пишу игру "Змейка". У меня есть таймер, и с каждым его проходом змейка двигается на 1 клетку, то-есть,...

Не отображается строка в форме
Когда ввожу = "Заявление №" & ! & "(электронное заявление" & ! & ")" высвечивается ошибка #NAME? Заранее...

Не отображается изображение в форме
Добрый день. Имеется страница с профилем, где отображаются контактные данные пользователя. Проблема в том, что при загрузке...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru