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

Создание заранее не известного Control одного типажа

30.11.2015, 19:22. Показов 1161. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начну из далека - есть некоторый файл, который парсится. В случае если в нем найдена одна метка то должен создастся компонент RadioButton, если другая то CheckBox, компоненты идентичны до безобразия с той лишь разницей что CheckBox подразумевает множественный выбор, а RadioButton из множества. Форма создается динамично. Появился вопрос а как заранее не зная тип компонента создать общий набор параметров для обоих вариантов, а тип определять исходя из метки. Был такой вот код но свойство Checked не присуще тому же Label или Button которые являются потомками Control, так как заставить перестать матерится VS на Checked?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Control rbv;
if (mtk=="rb")
{
    rbv = new RadioButton();
    rbv.Tag = "rb";
}
else
{
    rbv = new CheckBox();
    rbv.Tag = "cb";
}
rbv.Text = tmp;
rbv.AutoSize = true;
rbv.Name = cnt.ToString();
if (ua[cq] != "")
    rbv.Checked = true; //собственно вот на это матерщина и льется
rbv.Click += new System.EventHandler(this.Choose_Answer);
rbv.Location = new System.Drawing.Point(ofstX, ofstY);
this.Controls.Add(rbv);
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2015, 19:22
Ответы с готовыми решениями:

Ввод с консоли не известного заранее количества чисел
Предложите алгоритм ввода таким образом чисел. Для объяснения, что надо напишу какие варианты нашел и почему они так или иначе не...

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

Взять значение только из первой строки заранее известного столбца
здравствуйте, хочу сделать sql запрос, взять значение только из первой строки заранее известного столбца, ну получается что хочу взять...

3
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.11.2015, 20:15
Лучший ответ Сообщение было отмечено Xaker_Two как решение

Решение

можно сделать проверку и привести к типу:
C#
1
2
3
4
if (rbv is RadioButton)
   (rbv as RadioButton).Checked=true;
if (rbv is CheckBox)
   (rbv as CheckBox).Checked=true;
1
0 / 0 / 0
Регистрация: 04.08.2015
Сообщений: 11
30.11.2015, 20:44  [ТС]
За is огромное спасибо, совсем забыл про этого товарища, и отдельное спасибо за его применение - не думал что так его можно применять.
0
 Аватар для Adadjio
61 / 61 / 32
Регистрация: 30.07.2013
Сообщений: 178
01.12.2015, 16:26
Цитата Сообщение от Даценд Посмотреть сообщение
,можно сделать проверку и привести к типу:
C#
1
2
3
4
if (rbv is RadioButton)
* *(rbv as RadioButton).Checked=true;
if (rbv is CheckBox)
* *(rbv as CheckBox).Checked=true;
намного лучше будет сделать так :
C#
1
2
3
4
5
var rbv_rb = rbv as RadioButton;
if(rbv_temp != null) rbv_temp.Checked=true;
 
var rbv_chb = rbv as CheckBox;
if(rbv_chb != null) rbv_chb .Checked=true;
потому что оператор as включает оператор is и если таких проверок, а потом приведений, будет много то получим снижение производительности. (Только недавно читал об этом в Рихтере и по-этому вспомнил)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2015, 16:26
Помогаю со студенческими работами здесь

Ввод пользователем заранее НЕ известного количества чисел(выбрать признак окончания ввода-число 999)
Ввод пользователя заранее НЕ известного количества чисел(выбрать признак окончания ввода-число 999) с определением среди введенных чисел...

Какая разница между Web server control, Composite control и User Control
Подскажите, пожалуйста, какая разница между Web server control, Composite control и User Control, а то я ща тут наделаю делов)

Как установить выбор только одного заранее заданного файла в OpenDialog?
Можно ли сделать так, что-бы openStuff открывал определённый файл (без возможности выбора)

Создание структуры неизвестного заранее размера
Приветствую всех. Подскажите как лучше поступить. Есть некая структура, которая должна заполняться приходящими данными. Проблема в том,...

Создание объектов в заранее выделенной памяти
Как можно создать объекты в заранее выделенной памяти? Цель: 1. Не запрашивать память динамически когда нужно создать новый...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru