Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 14
1

Управление приоритетом расположения компонентов на форме

25.11.2013, 08:53. Показов 3440. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В процессе работы пользователь динамически создает панели и ричТексБоксы . Иногда текстБоксы надо ложить мышкой на панель. Но вот проблема - когда текстБокс создан раньше панели, то всё ложится красиво, но когда панель "старше" тескстБокса, то он затаскивается под панель и его не видно. Где копать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2013, 08:53
Ответы с готовыми решениями:

Как посмотреть структуру расположения элементов на форме в VS?
Уважаемые Гуру! Есть ли возможность визуально увидеть структуру расположения элементов...

Настройка расположения элементов на форме в зависимости от их количества
Передо мной стоит такая задачка: есть в программе настройки,где можно выбрать наличие тех или иных...

Изменение расположения визуальных компонентов на форме
Здравствуйте. Помогите, пожалуйста, написать программу ( или просто опишите алгоритм). Задача...

Управление видимостью компонентов на форме
Здравствуйте! Пишу курсовик. 1) Есть текст бокс, в котором выводится сообщение Загрузка..... ...

9
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
25.11.2013, 12:35 2
Надо изменять индекс контрола. Чем он меньше, тем он "поверхностней" остальных.
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
25.11.2013, 13:37 3
Muraw, есть такое понятие, как z-порядок. что было последнее создано в рамках контейнера, то имеет расположено выше (типа стэк). Для "подъема" контрола на верх есть метод BringToFront() для помещения на "дно" - SendToBack().
Цитата Сообщение от titans2011 Посмотреть сообщение
Надо изменять индекс контрола. Чем он меньше, тем он "поверхностней" остальных.
titans2011, можешь показать код? а то я что-то не понял, про какой индекс идет речь
1
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 14
25.11.2013, 21:34  [ТС] 4
nio, спасибо.
Применил BringToFront() всё получилось.

Но вылезла очередная проблема. Завожу контрол на панель, кликаю мышкой по панели и вместо того, чтобы "приклеится " к панели контрол исчезает.

C#
1
2
3
4
5
6
7
8
9
10
11
  this.panel1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseUp);
         }
      private void panel1_MouseUp(object sender, System.EventArgs e) 
              
            //  когда мышь находится на панели добавить в панель корпус
 
        {
                           
            panel1.Controls.Add(richTextBoxKorp);
        
        }

Хотя раньше, когда работа шла без события, проходило

C#
1
2
           this.Controls.Add(panel1);
           panel1.Controls.Add(richTextBoxUl);
Пробовал по-разному - не получается!
0
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
25.11.2013, 21:48 5
В момент добавления нового контрола, передобавляй все имеющиеся контролы.
0
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 14
25.11.2013, 22:17  [ТС] 6
Цитата Сообщение от DataPlanner Посмотреть сообщение
В момент добавления нового контрола, передобавляй все имеющиеся контролы.
Не проходит

Добавлено через 9 минут
Более того
При
C#
1
richTextBoxKorp.Controls.Add(panel1);
исчезает панель
0
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
25.11.2013, 22:29 7
C#
1
2
panel1.Controls.Add(richTextBoxUl); 
this.Controls.Add(panel1);
Это правильный подход. Так делаешь?

Добавлено через 1 минуту
Панель это контейнер
0
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 14
26.11.2013, 19:42  [ТС] 8
Именно так и не проходит.

Дело в том, что панель я создаю по клику на одну кнопку. richTextBox пор клику на другую кнопку. А приклеиваю richTextBox к панели по

C#
1
private void panel1_MouseUp(object sender, System.EventArgs e)
И не работает. По этому событию richTextBox исчезает
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
27.11.2013, 09:37 9
Muraw, что-то ты где-то косячишь, сделай пошаговую отладку, посмотри, что во что вложено, обязательно обрати внимание на Location контролов (возможно они у тебя за пределами области отображения).
1
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 14
28.11.2013, 09:09  [ТС] 10
nio, спасибою

Да. Накосячил - Location задавал не панели, а окна.
0
28.11.2013, 09:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2013, 09:09
Помогаю со студенческими работами здесь

Размещение компонентов с разным приоритетом
как менять местами компоненты в дельфи? надо что бы Image был над memo

Управление приоритетом потока в Linux
Есть в справке класса QThread такой абзац: void QThread::start ( Priority priority =...

Импорт и экспорт расположения компонентов программы
Нужно сделать так чтоб программа(1) экспортировала список и координаты компонентов, а программа(2)...

Очередь с приоритетом. Элементы с наивысшим приоритетом ставятся в начало очереди, с наименьшим – в конец
Здравствуйте! имеется задание: создать очередь с приоритетом (у каждого элемента свой приоритет)....


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru