Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.81/26: Рейтинг темы: голосов - 26, средняя оценка - 4.81
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1

Создать компонент: выпадающий список

01.06.2015, 14:04. Показов 6040. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть виндоус апликейшен форм, нужно, чтобы текст открывался так как на этом сайте: жмем на плюсик получаем новый текст в том же окне.
Пока как оптимальное решение я выбрала button, но это совсем не то, что мне нужно.
Есть такая технология в JQuery Collaps, когда текст раскрывается в том же окне. Если я правильно понимаю в си шарпе, эту технику заменяет Ajax. Так ли это?
И как мне так сделать?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.06.2015, 14:04
Ответы с готовыми решениями:

Выпадающий список
Подскажите пожалуйста, у меня есть форма для заполнения, с полями для ввода. Я хочу, что бы в одном поле, был выпадающий список, и что бы...

Выпадающий список
Доброго времени суток! Столкнулся с проблемой и не могу её решить: есть combobox, таблица в БД SQL; нужно сделать так, чтобы по мере набора...

Выпадающий список ComboBox
Добрый вечер, реализую такой вид подсказок в Винформе. Возник вопрос, когда подсказка "подсказывает со словом" она выбрасывает...

50
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
03.06.2015, 11:46  [ТС]
Студворк — интернет-сервис помощи студентам
Это я controls так назвала, сори.
Цитата Сообщение от Rius Посмотреть сообщение
класс добавляется сразу в проект. Пересобираете проект, и в тулбоксе появлется контрол, который можно перетащить на форму.
Как мне пересобирать проект? И что есть в данном случае class? Я не понимаю сам алгоритм действий. Вот, у меня есть проект и у Вас есть проект. Мне нравится панель в Вашем проекте. Я хочу посмотреть как Вы ее создали. Я иду в солюшен эксплоер и далее в Form1.Designer.cs. Там код, я пытаюсь найти в этом коде иф стейтментс, но я ничего не вижу. А самое главное даже если я их найду, то мне надо будет их как-то скопировать. Но как?
0
Эксперт .NET
 Аватар для Rius
13837 / 7879 / 1706
Регистрация: 25.05.2015
Сообщений: 23,921
Записей в блоге: 14
03.06.2015, 11:56
Вот скрин. Обведён пользовательский контрол.
Первая строка - как контрол представлен в дереве решения. Двойной клик откроет режим дизайнера. "Просмотреть код" откроет исходники.
Вторая строка - файл дизайнера, автогенерируемый код создания и настройки контрола.
Третья - ресурсы.
Четвёртая строка (то же ,что и первая в режиме "просмотреть код"), - основной исходный код класса. Здесь прописано то, как он работает.

Это на самом деле 3 файла. Добавляете их в свой проект. Компилируете. В панели инструментов появляется новый контрол.
Миниатюры
Создать компонент: выпадающий список   Создать компонент: выпадающий список   Создать компонент: выпадающий список  

0
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
03.06.2015, 12:27  [ТС]
Это я поняла, теперь вопрос, а как мне добавить эти три фаила? Есть опция скопировать, я их скопировала. Зашла на свой проект и далее не знаю, что делать.
0
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
03.06.2015, 12:29  [ТС]
Вот, скрин.
Это уже мой проект, я нажимаю добавить, но чего куда не знаю.
Миниатюры
Создать компонент: выпадающий список  
0
Эксперт .NET
 Аватар для Rius
13837 / 7879 / 1706
Регистрация: 25.05.2015
Сообщений: 23,921
Записей в блоге: 14
03.06.2015, 12:30
Add Existing Item, выделяете сразу 3 файла.
0
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
03.06.2015, 13:55  [ТС]
А где я беру existing items. В Вашем проекте? Где мне выделять?
0
Эксперт .NET
 Аватар для Rius
13837 / 7879 / 1706
Регистрация: 25.05.2015
Сообщений: 23,921
Записей в блоге: 14
03.06.2015, 13:57
На вашем скрине Add -> Existing Items (Существующее элементы).
Откроется окно выбора файлов. Там мышой выделяете 3 файла из каталога моего проекта и ОК.
0
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
03.06.2015, 14:24  [ТС]
да я уже так делала...вот, что получилось.
Миниатюры
Создать компонент: выпадающий список  
0
Эксперт .NET
 Аватар для Rius
13837 / 7879 / 1706
Регистрация: 25.05.2015
Сообщений: 23,921
Записей в блоге: 14
03.06.2015, 14:32
Вы их добавили не так)
Надо выбрать проект и к нему добавить существующие файлы.
1
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
04.06.2015, 10:50  [ТС]
Уже добавила..все так Сейчас еще выясню как Вы цвет добавили и почти ура - получилось. Спасибо.

Добавлено через 20 часов 10 минут
Не могу разобраться. Все дело в том, что я загорелась сделать свой первую десктоп апликейшен, а уровень знаний у меня пока начальный. Мою тему сюда перенесли из си шарп для начинающих. В общем, я так и не поняла как Вы так сделали. Я думала из пропетис, но там толькро цвет можно прописать. В общем, я пока на уровне: есть конопочка, двойной щелчок пишем код для кнопочки, но это ивент. А здесь нет ивента поэтому не понятно. Есть иф стейтмент, но он не понятно где прописан.
0
Эксперт .NET
 Аватар для Rius
13837 / 7879 / 1706
Регистрация: 25.05.2015
Сообщений: 23,921
Записей в блоге: 14
04.06.2015, 10:54
Event есть, только внутри контрола.
Файл CollapsablePanel.cs:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace CollapsablePanelControl
{
    public partial class CollapsablePanel : UserControl
    {
        public CollapsablePanel()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (this.Height != this.MaximumSize.Height)
            {
                this.Height = this.MaximumSize.Height;
            }
            else
            {
                this.Height = this.MinimumSize.Height;
            }
        }
    }
}
Всё неприлично просто.
0
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
04.06.2015, 11:44  [ТС]
Не просто. Кнопки две, а код один. Посмотрела пару видио о формах, но там какие-то монстры рисуют страшные вещи, а простого объяснения нет..Какие отношения между пользовательским контролем и формой? Если мне нужен контроль, который выглядит как у Вас, т.е. две кнопки, то почему у меня получается одна и как мне из нее сделать две? В общем, мне не хватает каких-то базовых знаний, очевидно.
0
Эксперт .NET
 Аватар для Rius
13837 / 7879 / 1706
Регистрация: 25.05.2015
Сообщений: 23,921
Записей в блоге: 14
04.06.2015, 11:52
Есть класс CollapsablePanel (далее - панель), унаследованный от UserControl. Это такой обычный способ создания пользовательских контролов.
На нём размещена одна кнопка.
При нажатии на кнопку высота панели становится равной её максимальной высоте (указанной в свойствах), либо минимальной высоте (там же).
Панель помещается студией в ToolBox.
Вы её оттуда достаёте и кидаете на форму.
Нажимаете на кнопку и панель сворачивается или разворачивается. Кнопка и код её обработки находятся в коде класса панели CollapsablePanel, поэтому в коде формы вы его не видите.

Две кнопки, которые вы видите, это две таких панели, расположенных одна за другой на контроле (FlowLayout, если не ошибаюсь), который выстраивает расположенные на нём контролы по порядку. Поэтому при сворачивании одной панели FlowLayout перестраивает расположение панелей.
0
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
04.06.2015, 12:24  [ТС]
Стало понятней. Спасибо.Вот, мой скринпринт. По сути код панелей, мне трогать не нужно при создании новой панели мне нужно прописать ее свойства и загнать под нее текст. Как это сдлать? Я создала лейбл и хотела поместить его на панель, но так не получается.
Миниатюры
Создать компонент: выпадающий список  
0
Эксперт .NET
 Аватар для Rius
13837 / 7879 / 1706
Регистрация: 25.05.2015
Сообщений: 23,921
Записей в блоге: 14
04.06.2015, 12:33
Упс)
Если надо помещать свои контролы, надо наследовать не от UserControl, а от Panel, например.
Или реализовать поддержку контейнеров с
C#
1
[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))]
и пр.

В архиве заменён предок.

А размеры прописываются в свойства MaximumSize, MinimumSize панелей.
Вложения
Тип файла: zip CollapsablePanel.zip (56.5 Кб, 9 просмотров)
0
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
04.06.2015, 13:17  [ТС]
работает, но в том же проекте когда я создаю свою панель и потом открываю проект в дизайне, и кликаю на батон у меня моя панель исчезает. А как мне заменить название батон, я в пропетис ничего не нахожу.
0
Эксперт .NET
 Аватар для Rius
13837 / 7879 / 1706
Регистрация: 25.05.2015
Сообщений: 23,921
Записей в блоге: 14
04.06.2015, 13:20
Цитата Сообщение от XeniaKlagen Посмотреть сообщение
А как мне заменить название батон, я в пропетис ничего не нахожу.
Открыть саму панель в дизайнере, а не форму.
Цитата Сообщение от XeniaKlagen Посмотреть сообщение
кликаю на батон у меня моя панель исчезает.
Задать минимальные и максимальные размеры в свойствах.
0
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
04.06.2015, 14:11  [ТС]
С размерами разобралась, но с названием нет.
Миниатюры
Создать компонент: выпадающий список  
0
Эксперт .NET
 Аватар для Rius
13837 / 7879 / 1706
Регистрация: 25.05.2015
Сообщений: 23,921
Записей в блоге: 14
04.06.2015, 14:16
Внимание:
Цитата Сообщение от Rius Посмотреть сообщение
Открыть саму панель в дизайнере, а не форму.
Миниатюры
Создать компонент: выпадающий список  
0
 Аватар для XeniaKlagen
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 31
Записей в блоге: 1
04.06.2015, 15:17  [ТС]
Нашла. Спасибо. Но теперь другая проблема, название у все панелей стало одинаковое. А мне надо разное. Можно так сделать?

Добавлено через 13 минут
Странно, что этого контроля до сих пор нет, классный же. Страница совершенно по-другому выглядит...а то намельчат, намельчат, кнопочек наделают и вид в результате у программы совсем не тот.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2015, 15:17

ВинФормы, Выпадающий список
День добрый. Такой вопросик возник, недавно начали изучать винформы в универе. Вот к примеру у нас есть class Computer в котором есть...

Access выпадающий список
Здравствуйте господа программисты! Помогите чайнику пожалуйста! Есть таблица Склад (наименование, количество, цена), таблица Приход...

Выпадающий список с чекбокосом
Добрый день, Может кто подсказать как сделать выпадающий список с чекбоксами в заголовке датагридвью? искал в гугле, нашел отдельно от...

Выпадающий список в ComboBox
Всем привет! Подскажите пл. как решить следующую проблему: Имеются две таблицы: 1. ID - int, Фамилия - char, Имя - int, Отчест -...

Выпадающий список с сheckbox'ами
Здравствуйте! Я новичок в программировании. Пишу программу в Visual Studio 2008 на C#. Подскажите мне, пожалуйста, как создать выпадающий...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru