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

Проверка введённых символов DataGridView

05.06.2017, 13:34. Показов 1912. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю кроссворд на c#, сейчас получилось организовать проверку введённых букв тоесть если буква правильная то подсвечивается зелёным а если не правильная то красным. Сверяется прога с текстовым файлом там введены правильные слова. Как сделать чтобы была проверка целого слова а не по буквам? Тоесть только когда введётся всё слово была подсветка зелёным.
Проверка по буквам:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private void board_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                board[e.ColumnIndex, e.RowIndex].Value = board[e.ColumnIndex, e.RowIndex].Value.ToString().ToUpper();
            }
            catch { }
            try
            {
                if (board[e.ColumnIndex, e.RowIndex].Value.ToString().Length > 1)
                    board[e.ColumnIndex, e.RowIndex].Value = board[e.ColumnIndex, e.RowIndex].Value.ToString().Substring(0, 1);
 
            }
            catch { }
            try
            {
                if (board[e.ColumnIndex, e.RowIndex].Value.ToString().ToUpper().Equals(board[e.ColumnIndex, e.RowIndex].Tag.ToString().ToUpper()))
                    board[e.ColumnIndex, e.RowIndex].Style.ForeColor = Color.DarkGreen;
                else
                    board[e.ColumnIndex, e.RowIndex].Style.ForeColor = Color.Red;
            }
            catch { }
 
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.06.2017, 13:34
Ответы с готовыми решениями:

Проверка введенных данных в TextBox, например, по количеству символов
Всем привет!! Нужно реализовать проверку введенных данных в текстбокс(1.по длине, 2.по языку, 3.по символам), как это сделать? ...

Проверка введенных данных в TextBox
Добрый вечер! Имеется программа с 4 текст боксами и кнопкой "Принять". Изначально кнопка неактивна и может быть активной только когда в...

Проверка введенных данных на корректность
Подскажите как сделать проверку введенных данных(Имени) в TextBox по средствам события(нажатие на кнопку) скажем(Имя не должно быть меньше...

2
1 / 1 / 1
Регистрация: 12.08.2016
Сообщений: 20
05.06.2017, 14:44
Коллега, возможно я неправильно понял задачу, но почему бы вам, к примеру, не создать событие "заполнение слова по вертикали или по горизонтали" (т.е. заполнены все ячейки в том столбце или строке, где изменялись или вводились буквы\цифры) и проверять его на подлинность/соответствие?

В таком случае у вас автоматически будет срабатывать заданное событие - проверка при заполненном по горизонтали/вертикали слове в кроссворде.
0
 Аватар для Aferuga
645 / 529 / 324
Регистрация: 20.05.2015
Сообщений: 1,471
06.06.2017, 06:51
Есть различные способы это проверить, данный вариант без смены модели и только для горизонтали:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
private void board_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                board[e.ColumnIndex, e.RowIndex].Value = board[e.ColumnIndex, e.RowIndex].Value.ToString().ToUpper();
                 if (board[e.ColumnIndex, e.RowIndex].Value.ToString().Length > 1)
                    board[e.ColumnIndex, e.RowIndex].Value = board[e.ColumnIndex, e.RowIndex].Value.ToString().Substring(0, 1);
            }
            catch { }
            int start_ind = 0;
            for (int i = e.ColumnIndex; i>=0;i--)
            {
                if (board[i, e.RowIndex].Tag.ToString()=="") //не знаю точно как у вас определяется пустое место
                 break;  
                   start_ind = i;
            }
                bool done = true;
                int end_index = board.Columns.Count-1;
                for (int i=start_ind; i<board.Columns.Count;i++)
                {
                     if ((board[i, e.RowIndex].Tag.ToString()==""))
                      {
                      end_index = i; 
                      break; 
                      } 
                     if (board[i, e.RowIndex].Value.ToString().Length == 0) 
                     {
                          done = false;
                          break;
                     }
                if (!(board[i, e.RowIndex].Value.ToString().ToUpper().Equals(board[i, e.RowIndex].Tag.ToString().ToUpper())))
                    {
                          done = false;
                          break;
                     }
                }
 
                   
                  for (int i=start_ind;i<end_ind+1;i++)
                  {
                   board[i, e.RowIndex].Style.ForeColor = (done?Color.DarkGreen:Color.Black);
                  }
        }

Писал от руки так что могут быть ошибки с крайними пределами.
А вообще можно изменить модель немного иначе например в тэге указать не символ для проверки, а два индекса(слова по горизонтали и вертикали) разделенных специальным символом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.06.2017, 06:51
Помогаю со студенческими работами здесь

Проверка введенных данных в TextBox
ниже приведен код программы решений квадратного уравнения.Нужно проверить являются ли введенные данные числами, подскажите как это сделать?...

Проверка количества введенных цифр в maskedTextBox
Как сделать проверку на кол-во введенных чисел в maskedtextbox? Можно ввести максимум 11 цифр, но как вывести ошибку пользователю, если...

Проверка введенных данных в textbox\richbox
Делаю программу которая работает с данными и мне нужно как то отследить введенные данные, т.е. что бы в поле где нужны цифры не ввели текст...

Контроль введенных символов в TextBox
Доброго времени суток. Есть TextBox в него вводим свое имя. Как проверить так чтоб юзео не ввел цыфру или например точку или кому любой...

Подстановка в расчет введенных символов
Задача: Есть 2 RichTextBox. Из одного считываются строки с числами, из второго - строки со знаками (+,- и т.д.) Необходимо вывести...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru