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

Перебрать все контроллы на форме и присвоить одним свойства других

27.04.2012, 23:01. Показов 3025. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
C#
1
2
3
4
5
6
7
8
foreach (Control control in Controls)
            {
                TextBox tb = control as TextBox;
                CheckBox ch = control as CheckBox;
                if (tb != null && ch != null)
                {
                    ch.Text = tb.Text;
                }
Подскажите пожалуйста, почему значение ch.Text не передается в значение tb.Text?
По идее должно работать, а на практике нет...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2012, 23:01
Ответы с готовыми решениями:

Перебрать контроллы в цикле для изменения их свойств
Суть: есть label1, label2, label3 Можно ли вместо label1.Text = "1"; label2.Text = "2"; label3.Text = "3"; сделать что-то...

Как через цикл foreach перебрать все свойства LineCap для пера?
Pen myPen = new Pen(Color.Blue,10); int i ; foreach (LineCap ff in LineCap) { ...

Как перебрать все CheckBox'ы на форме
Добрый день. Прокопал форум насколько хватило терпения, погуглил с учетом этого форума, но именно нужную мне инфу не нашел. Но если...

7
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
27.04.2012, 23:23
Может я не вполне понимаю. Но кажется что в этой логике ожидается, что выбранный в цикле контролл может быть преобразован к TextBox и CheckBox одновременно? Если так то один из указателей всегда NULL. Вставьте туда MessageBox и посмотрите.)
0
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
27.04.2012, 23:36
Потому что вы представляете один и тот же объект control, как два разных класса,
т.е. один из них будет null из-за невозможности полного приведения, или же они будут указывать на одно и тоже значение свойства Text
0
38 / 38 / 10
Регистрация: 08.03.2012
Сообщений: 236
27.04.2012, 23:37  [ТС]
у меня просто на форме много как textBox'ов так и checkBox'ов, и мне нужно что бы введенные значения в textBox присваивались к св-ву Text в checkBox.
Просто писать здоровенный код типа:
C#
1
2
ch1.Text = tb1.Text;
ch2.Text = tb2.Text; // и т.д.
я на форуме нарыл такой способ в котором можно задействовать все однотипные контролы, но теперь сам понял, что этот код не сработает т.к. программа не поймет, что и к чему присваивать.
Может есть др. способ?
0
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
27.04.2012, 23:43
Можно создать Dictionary<CheckBox, TextBox> и работать с ним
0
38 / 38 / 10
Регистрация: 08.03.2012
Сообщений: 236
27.04.2012, 23:49  [ТС]
Можете дать информации почитать об этом способе, а то я еще такого не знаю
0
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
28.04.2012, 00:03
либо два списка List<CheckBox> и List<TextBox>

Добавлено через 8 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static List <CheckBox> checkBoxes= new List<CheckBox>();
        static List<TextBox> textBoxes = new List<TextBox>();
        private void Form1_Load(object sender, EventArgs e)
        {
            foreach (Control control in Controls)
            {
                if (control.GetType() == typeof(CheckBox))
                    checkBoxes.Add((CheckBox)control);
                if (control.GetType() == typeof(TextBox))
                    textBoxes.Add((TextBox)control);
            }
            if (checkBoxes.Count==textBoxes.Count)
              for(int i=0;i<checkBoxes.Count;i++)
              {
                 checkBoxes[i].Text=textBoxes[i].Text;
              }
        }
Добавлено через 4 минуты
вот как-то так
1
38 / 38 / 10
Регистрация: 08.03.2012
Сообщений: 236
28.04.2012, 00:03  [ТС]
спасибо, выручили!
я чуть-чуть по другому думал, а тут вот как оно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2012, 00:03
Помогаю со студенческими работами здесь

Как перебрать все кнопки на форме
Как при нажатии одной кнопки на форме, все остальные кнопки за-disable-ить? То есть, как перебрать все кнопки на форме? Поделитесь кусочком...

Как перебрать все объекты созданные в форме?
Подскажите, как перебрать все визуальные и невизуальные объекты в форме. Конструкции: Form1.components.Components и...

Как перебрать все записи одного поля в отфильтрованной форме?
Добрый день! В Excel использовался такой нехитрый код: Private Sub Кнопка289_Click() Dim FolderName As String Dim i As...

При включении Debug-Mode контроллы становятся серыми, а их свойства - недоступными
Проблема следующая: создаю WebSite, кидаю пару контролов на страницу, компилю, мне предлагают включить дебаг-режим, и, если я соглашаюсь,...

Как создавать и удалять контроллы на форме программно
Как создать и удалить контролл на форме через код, желательно описать пикчербокс.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru