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

Определение цвета ячейки решетки

12.09.2014, 22:02. Показов 1735. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть решетка 9*9, нарисованная на форме, и закрашенная цветом DarkGray. Ставим курсор мышки на первую ячейку (1;1) и кликаем. Должен определиться цвет DarkGray. Вместо этого наблюдаю странный эффект: при клике в разных местах ячейки выдает значение разных цветов, при этом это наблюдается ТОЛЬКО в первой строке, в остальных восьми строках с ячейками все нормально. Такое ощущение что ячейка закрашена разными цветами. Теоретически могу в класс ячейки добавить свойство "Цвет ячейки", но любопытно почему так происходит и что с этим сделать?
Ниже обработка события:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void Form1_MouseClick(object sender, MouseEventArgs e)
        {
            if ((e.X>=sX) && (e.X<=(nCells*sCells+sX)))
                if ((e.Y>=sY) && (e.Y<=(nCells*sCells+sY)))
                {
                    Bitmap bmp = new Bitmap(this.ClientSize.Width, this.ClientSize.Height);
                    this.DrawToBitmap(bmp, new Rectangle(this.ClientRectangle.Location, this.ClientSize));
                    if (bmp.GetPixel(e.X, e.Y).ToArgb()!=Color.Black.ToArgb())
                        MessageBox.Show("Цвет пикселя : " + bmp.GetPixel(e.X, e.Y).ToArgb());
                        if (bmp.GetPixel(e.X, e.Y).ToArgb()==Color.DarkGray.ToArgb())
                        {
                            
                        }
                        else
                        {
 
                        }
 
                }
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2014, 22:02
Ответы с готовыми решениями:

Определение цвета ячейки нарисованной сетки при клике
Здравствуйте. Рисую на picturebox-е сетку, и по клику в определенной ячейке - заливаю ее цветом. Как можно определить, когда клик...

Определение цвета пикселя
в bitmap загружена картинка, нужно сделать черно-белое изображение из цветного. знаю про GetPixel, но как определить на какой цвет...

Изменения цвета фона ячейки ListView
listView1.Items.SubItems.BackColor = Color.Red; тупо не работает((( как быть?

4
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
13.09.2014, 08:52
Есть ощущение, что ты где-то неверно работаешь с координатами. Параметры sX, sY заданы относительно клиентской области?
0
0 / 0 / 0
Регистрация: 12.09.2014
Сообщений: 4
13.09.2014, 16:01  [ТС]
Да, координаты sX=10 и sY=10 заданы относительно клиентской области, они нужны только, чтобы понять в решетке кликнули мышкой или нет. Я так понимаю, это странное поведение GetPixel. Просмотрел каждый пиксель на этой решетке, с цветностью все в норме - хочу заметить тоже использовал GetPixel, как следствие - делаю вывод, что меняются координаты курсора мышки. Хотя ДО выполнения GetPixel и ПОСЛЕ с координатами все в порядке.

Добавлено через 22 минуты
Повесил GetPixel на MouseMove, поводил мышкой по сетке, оказалось, что действительно разные цвета,такое впечатление, что курсор мышки находится не там где я его вижу.
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
13.09.2014, 18:32
Если можешь, выложи проект
0
0 / 0 / 0
Регистрация: 12.09.2014
Сообщений: 4
14.09.2014, 14:54  [ТС]
Вот. Немного подправил, чтобы можно было поводить мышкой по сетке и увидеть изменение значений цвета.
Вложения
Тип файла: zip PathFind.zip (251.8 Кб, 6 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.09.2014, 14:54
Помогаю со студенческими работами здесь

Изменение цвета кнопки [не ячейки] в DataGridView
Здраствуйте, скажите пожалуйста, как изменить цвет кнопки standart, созданой в ячейке datagridview, событие на клик сделал и текст меняется...

Два цвета фона ячейки[цвет1/цвет2]
Есть таблица TableLayoutRowStyleCollection. В этой таблице есть матрица значений - ячейки c текстом new Label() и у каждой ячейки есть фон...

Ячейки в dataGridView1 нужно перекрасить в разные цвета
У меня оно перекрашивает только по последнему рядку все столбцы. То есть если последний 0, то столбец окрашивается в серы, если 1 - 10 -...

Определение цвета пикселей в разных Bitmap
image = Image.FromFile(bmpPath); image = Image.FromFile(bmpPath); int width = image.Width; int...

Изменение цвета ячейки в dataGridView, при нажатии на неё
Есть функция: private void ColumnColor_CellClick(object sender, DataGridViewCellEventArgs e) { ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru