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

Нулевой Tag

21.05.2015, 18:04. Показов 798. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в конструкторе записываю в теги контролов кое что, но при вызове событий в обработчике у меня в теге контролов уже ничего нет null что за фигня такая?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.05.2015, 18:04
Ответы с готовыми решениями:

Второй tag
Всем привет! Народ подскажите, как решить задачку при клике по ноду передаю другому контролу значение tag, а мне еще надо передать...

Значения свойства Tag
Здравствуйте. Обьясните пожайлуста, что за значения свойства Tag. Где берется это значение, и что это за зверь такой. Спасибо.

Сравнение значений Tag
Я задаю теги pictureBox-ов c помощью массива ( pictureBox1.Tag = arr; pictureBox2.Tag = arr; ), потом мне нужно сравнить два тега ...

13
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.05.2015, 18:10
Цитата Сообщение от Rillaxac Посмотреть сообщение
при вызове событий в обработчике у меня в теге контролов уже ничего нет null что за фигня такая?
Вариантов, как водится, несколько:
1. Значения записываются в теги не тех контролов, из которых потом считываются
2. Значения в какой-то момент перезаписываются пустыми
3. Значения не записываются вообще.
0
Заблокирован
21.05.2015, 18:12  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Значения записываются не в теги не тех контролов, из которых потом считываются
я сам их записываю в конструкторе формы, без вариантов...
Цитата Сообщение от kolorotur Посмотреть сообщение
Значения в какой-то момент перезаписываются пустыми
опять таки кроме как в конструкторе они больше нигде не записываются
Цитата Сообщение от kolorotur Посмотреть сообщение
Значения не записываются вообще.
проверено отладчиком - записываются
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.05.2015, 18:14
Rillaxac, мы можем и дальше гадать, а можем глянуть на код.
Это намек
0
Заблокирован
21.05.2015, 18:18  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Rillaxac, мы можем и дальше гадать, а можем глянуть на код.
Это намек
в коде ничего сверхъестественного...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public Форма()
{
    Кисть.Tag = PaintBox.PaintTools.Curve;
    Стерка.Tag = PaintBox.PaintTools.Eraser;
    Линия.Tag = PaintBox.PaintTools.Line;
 
    foreach (RadioButton radiobutton in Инструменты.Controls.OfType<RadioButton>())
        radiobutton.CheckedChanged += delegate
        {
            Изображение.CurrentTool = (PaintBox.PaintTools)radiobutton.Tag;
            foreach (var control in Свойства.Controls)
                (control as Control).Visible = false;
            label3.Visible = true;
        };
}
Добавлено через 23 секунды
PaintBox.PaintTools - перечисление (enum)
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.05.2015, 18:25
Цитата Сообщение от Rillaxac Посмотреть сообщение
в коде ничего сверхъестественного
Не вижу вот этой части:
Цитата Сообщение от Rillaxac Посмотреть сообщение
в конструкторе записываю в теги контролов кое что
Вижу только подписку на событие, код которой отрабатывает только тогда, когда пимпа была выбрана в интерфейсе.
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,098
21.05.2015, 18:29
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public Форма()
{
    Кисть.Tag = PaintBox.PaintTools.Curve;
    Стерка.Tag = PaintBox.PaintTools.Eraser;
    Линия.Tag = PaintBox.PaintTools.Line;
 
    foreach (RadioButton radiobutton in Инструменты.Controls.OfType<RadioButton>())
        radiobutton.CheckedChanged += (sender,e)=>
        {
            RadioButton rb=sender as RadioButton;
            Изображение.CurrentTool = (PaintBox.PaintTools)rb.Tag;
            foreach (var control in Свойства.Controls)
                (control as Control).Visible = false;
            label3.Visible = true;
        };
}
0
Заблокирован
21.05.2015, 18:40  [ТС]
kolorotur, что вы не видите? а перед подпиской на событие по вашему что делается?

nedel, ну и какая разница вы заменили анонимную функцию на лямбду, это ровно ничего не меняет
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.05.2015, 18:47
Цитата Сообщение от Rillaxac Посмотреть сообщение
что вы не видите? а перед подпиской на событие по вашему что делается?
Ой, прошу прощения, не заметил.
Кириллица в именах у меня напрочь отрубает восприятие кода

Тогда вопросы:
1. Где находятся контролы Кисть, Стерка и Линия?
2. На что ссылается переменная Инструменты?
0
Заблокирован
21.05.2015, 18:50  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Кириллица в именах у меня напрочь отрубает восприятие кода
знаю знаю сам не люблю этого, но на форме такое количество контролов что я задолбался придумывать им имена на английском и стал все по русски писать
Цитата Сообщение от kolorotur Посмотреть сообщение
Тогда вопросы:
1. Где находятся контролы Кисть, Стерка и Линия?
2. На что ссылается переменная Инструменты?
на панели "Инструменты" которая находится на форме "Форма"
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.05.2015, 18:54
Цитата Сообщение от Rillaxac Посмотреть сообщение
на панели "Инструменты" которая находится на форме "Форма"
Ага, понятно.

Панель вы заполняете программно или через дизайнер?
Если через дизайнер, то где вызов InitializeComponent() в начале конструктора формы?
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,098
21.05.2015, 18:58
Цитата Сообщение от Rillaxac Посмотреть сообщение
ну и какая разница вы заменили анонимную функцию на лямбду, это ровно ничего не меняет
это меняет то, что для доступа к контролу вы используете внутреннюю переменную вашего цыкла, а я параметр передаваемый обработчику
0
Заблокирован
21.05.2015, 19:18  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Панель вы заполняете программно или через дизайнер?
через дизайнер
Цитата Сообщение от kolorotur Посмотреть сообщение
Если через дизайнер, то где вызов InitializeComponent() в начале конструктора формы?
вызов перед этим кодом, просто забыл скопировать

Добавлено через 2 минуты
Цитата Сообщение от nedel Посмотреть сообщение
это меняет то, что для доступа к контролу вы используете внутреннюю переменную вашего цыкла, а я параметр передаваемый обработчику
я проверил этот код, разницы никакой, все равно выбивает ошибку на нулевом теге
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.05.2015, 19:24
Цитата Сообщение от Rillaxac Посмотреть сообщение
вызов перед этим кодом, просто забыл скопировать
Тогда единственное, что могу посоветовать — это выложить проект, а то может еще что-нибудь где-нибудь забылось.
Если стесняетесь здесь, можете сбросить в личку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2015, 19:24
Помогаю со студенческими работами здесь

Заполнение Label.tag
Здравствуйте, делаю программу, мне необходимо перенести название из label1.text в Label.tag; Тоесть у меня на форме 30 лейблов, в них...

Обращение через tag
Создаю кнопки for (int i = 0; i &lt; 5; i++) for (int j = 0; j &lt; 5; j++) { Button...

Как работать с Tag?
Мне нужно обратиться к нажатой кнопке. Я создал тег кнопке но не знаю как обратиться к этой нажатой кнопке по тегу (например в конструкции...

Treeview запись в tag из textbox
Не могу никак сообразить, как значение из textbox запихнуть в свойство tag созданному Node? private void button1_Click(object sender,...

Как добавить картинки в TreeView.Tag ?
Так я добавляю текст TreeNode treeNode = new TreeNode(&quot;Person&quot;); String str = new string { &quot;name&quot;, &quot;age }; ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru