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

Класс ChoiseButtons

11.04.2016, 14:49. Показов 453. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток, форумчанье. Помогите пожалуйста с проблемой. Необходимо создать класс который будет отвечать за создание кнопок. Этот класс будет передаваться тип кнопки(button,radiobutton,checkbox итд) координаты размер и прочее. суть в чем. код смотрит сколько файлов в папке(лекций) и необходимо создать столько же чекбоксов(для выбора лекций). Этот же класс используется для прохождения тестов(т.е нужно еще создавать checkbox). Буду рад любой информации.

примеры использования класса:

C#
1
2
3
4
5
6
7
8
9
10
11
private ChoiseButtons buttons;
private DirectoryInfo[] lecturesDirectories;
private DirectoryInfo currentLectureDirectory;
private Point startPosition = new Point(5, 15);
private Size buttonSize = new Size(200, 30);
private int distance = 5;
private Modes currentMode;
public LecturesForm(string folderPath)
{
InitializeComponent();
buttons = new ChoiseButtons(ChoiseButtons.ButtonTypes.RadioButton, startPosition.X, startPosition.Y, buttonSize.Width, buttonSize.Height, distance);
C#
1
2
3
4
5
6
7
    buttons = new ChoiseButtons(ButtonTypes.CheckboxButton, startPosition.X, startPosition.Y, buttonSize.Width, buttonSize.Height, distance);
    InitQuestionWindow(question);
    questionsGroupBox.Select();
}
private void InitQuestionWindow(Question question)
{
    ButtonTypes type = (question.CorrectAnswers.Count != 1) ? ButtonTypes.CheckboxButton : ButtonTypes.RadioButton;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2016, 14:49
Ответы с готовыми решениями:

Как преобразовать класс из динамически сгенерированного кода в локальный класс?
Исходные данные: Форма, на ней кнопка, по нажатию на которую компилируется программа, совершает расчёты, возвращает результат. ...

Изменить класс для описания комплексных чисел на абстрактный класс
Нужно изменить на абстрактное классы, не понимаю как? В файле Class1.cs: using System; using System.Collections.Generic; using...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
На самом деле ничё фантастического я не прошу, ведь: template <class T> class matrix { friend class diagonal; ...

6
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
12.04.2016, 11:34
Цитата Сообщение от Alxdr Посмотреть сообщение
класс который будет отвечать за создание кнопок
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    static class ButtonCreator
    {
        public static Control Create(Control parent, ButtonType type, string text, int x, int y, int width, int height)
        {
            Control ctrl = null;
            switch(type)
            {
                case ButtonType.Button: ctrl = new Button(); break;
                case ButtonType.CheckBox: ctrl = new CheckBox(); break;
                case ButtonType.RadioButton: ctrl = new RadioButton(); break;
            }
 
            ctrl.Text = text;
            ctrl.Location = new Point(x, y);
            ctrl.Size = new Size(width, height);
            ctrl.Parent = parent;
 
            return ctrl;
        }
    }
 
    enum ButtonType
    {
        RadioButton, CheckBox, Button
    }
Пример использования:
C#
1
ButtonCreator.Create(this, ButtonType.RadioButton, "bla bla", 0, 0, 100, 30);
1
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 3
12.04.2016, 11:43
А можно сделать например button1 = buttoncreator.create
?
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
12.04.2016, 12:23
Цитата Сообщение от neopulsar Посмотреть сообщение
А можно сделать например button1 = buttoncreator.create
Можно.

C#
1
var button1 = (RadioButton)ButtonCreator.Create(this, ButtonType.RadioButton, "bla bla", 0, 0, 100, 30);
1
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 3
12.04.2016, 23:21
а можно примерно так же хранить множество кнопок? например buttons
а пользоватся по принципу buttons.AddButton
?
C#
1
2
   ButtonTypes type = (question.CorrectAnswers.Count != 1) ? ButtonTypes.CheckboxButton : ButtonTypes.RadioButton;
    buttons.Reset(type);
C#
1
2
3
4
5
6
    this.textBoxTest.Text = question.QuestonText;
        for (int i = 0; i < question.Answers.Count; i++)
        {
        buttons.AddNextButton(question.Answers[i + 1]);
        questionsGroupBox.Controls.Add(buttons[i]);
        }
примерно так.
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
13.04.2016, 02:00
Цитата Сообщение от neopulsar Посмотреть сообщение
а можно примерно так же хранить множество кнопок? например buttons
а пользоватся по принципу buttons.AddButton
Можно

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    class Buttons : List<Control>
    {
        public Control Add(Control parent, ButtonType type, string text, int x, int y, int width, int height)
        {
            Control ctrl = null;
            switch (type)
            {
                case ButtonType.Button: ctrl = new Button(); break;
                case ButtonType.CheckBox: ctrl = new CheckBox(); break;
                case ButtonType.RadioButton: ctrl = new RadioButton(); break;
            }
 
            ctrl.Text = text;
            ctrl.Location = new Point(x, y);
            ctrl.Size = new Size(width, height);
            ctrl.Parent = parent;
 
            this.Add(ctrl);
 
            return ctrl;
        }
    }
 
    enum ButtonType
    {
        RadioButton, CheckBox, Button
    }
1
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 3
13.04.2016, 05:47
А можно их как то удалять например
C#
1
buttons.reset(buttontype)
была бы шикарной функция, но башка не варит как ее реализовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2016, 05:47
Помогаю со студенческими работами здесь

Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами
Здравствуйте! Никак не могу продумать структуру этой программы. Проходим наследование, но я все равно не знаю, как его здесь применить. Как...

Класс: Разработать абстрактный класс класс Point для задания координаты...
Всем привет, помогите пожалуйста решить задачу, я уже всю голову сломал, не знаю как решить... Разработать абстрактный класс класс...

Отдельно класс данных, класс формул и главный класс
Здравствуйте! У меня есть три вопроса. Первый вопрос. Скажите пожалуйста! Правильный ли это подход к созданию приложений :...

Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо
Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо. Дополнительно есть марка,...

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число"
Ткма работы создать класс pair (пара чисел); определить метод перемножения полей и операцию сложения пар (a,b)+(c,d) =(a+b,c+d)...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru