Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
1

DataGridView: неправильное поведение при событии CellMouseClick

20.01.2013, 23:58. Показов 1245. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Цель: создать таблицу с ячейками, заполнить её нолями. Событие CellMouseClick должно работать так: если в ячейке ноль- меняем его на единицу. Если единица- меняем на ноль. Первоначальное заполнение происходит нормально. Вот код события:

C#
1
2
3
4
5
6
7
8
9
10
11
12
        private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
 
            //ну тут всё понятно должно быть
            if ((int)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == 0)
                dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 1;
            else
                dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 0;
 
            //Отслеживаю на всякий случай- есть клик или нет
            listBox1.Items.Add("произошёл клик");
        }
Работает нормально КРОМЕ ОДНОЙ ДЕТАЛИ, а именно:
кликаем в ячейке-> меняемся значение-> кликается в этой же ячейке-> НЕ МЕНЯЕТСЯ значение

Чё за дела-то? Я думал, может второго клика не происходит почему-то? Для этого и создал ListBox, где и отслеживаю клики- нет, всё нормально. И ещё деталь: если второй клик производить правой кнопкой-то, то всё работает нормально; в чём же дело, друзья?

Добавлено через 1 час 40 минут
Решилось
C#
1
dataGridView1.ReadOnly= true;
, а почему- загадка для меня
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2013, 23:58
Ответы с готовыми решениями:

DataGridView: поведение при событии CellMouseDoubleClick
Ребята как исправить ситуацию. У меня в DataGridView есть два события: CellMouseClick и...

Неправильное отображение даты при импорте данных из Excel в DataGridView
Привет Импортирую данные из Excel в DataGridView: private void button1_Click(object sender,...

Неправильное поведение ContextMenu
Возникла проблема с ContextMenu.Ситуация такая: Есть контекстное меню,которое получает внутрь себя...

Qt widget неправильное поведение
исследовал свойства окна и наткнулся на такую штуку: вызываю функцию show() для окна, а затем меняю...

1
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
21.01.2013, 06:08 2
Цитата Сообщение от kravam Посмотреть сообщение
а почему- загадка для меня
По идее, клик левой кнопкой по выделенной ячейке переводит ее в режим редактирования. Метод CellClick то отработает корректно, но в редактор все равно попадет старое значение, которое и будет отображаться в ячейке. Запретив редактирование, вы избежали данного эффекта
0
21.01.2013, 06:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2013, 06:08
Помогаю со студенческими работами здесь

Змейка в консоли: неправильное поведение функции
Всем привет! Пишу консольную змейку. Есть класс Snake и метод isSnake(), который работает...

Неправильное поведение программы с использованием логического оператора или
while((ch=_getche())!='.') a=a*10+ch-'0'; ch='0'; while((ch=_getche())!='.') b=...

В каком событии DataGridView можно описать фильтрацию?
Здравствуйте! У меня вопрос, есть ли такое событие у элемента DataGridView в котором модно описать...

DataGridView: как проверить равенство двух ячеек в событии RowEnter
private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e) { ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru