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

Двойное нажатие на заголовок столбца приводит к краху

03.01.2017, 16:35. Показов 1884. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, кто может посоветовать как избежать вылета из приложения при 2-ом нажатии на заголовок столбца?
Как отловить, либо ещё как...очень нужна помощь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2017, 16:35
Ответы с готовыми решениями:

FindNode в TreeView приводит к краху приложения
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using...

Попытка создания RMI канала всегда приводит к краху
Есть интерфейс с расчетом на rmi package rmi; import java.rmi.*; /** * * @author Gepar */ public interface BillingService...

QTableWidget как отловить нажатие на заголовок столбца?
Привет, пытаюсь осваивать Qt и C++. Нужно вызвать событие void при клике на заголовок столбца с передачей индекса этого столбца, как...

20
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,099
03.01.2017, 18:33
Это только у вас вылетает. Напишите что за исключение, ну и что за столбци (DataGridView, ListView...)
0
1 / 1 / 1
Регистрация: 08.10.2014
Сообщений: 78
03.01.2017, 18:36  [ТС]
nedel, Необработанное исключение типа "System.ArgumentOutOfRangeException" в mscorlib.dll

Дополнительные сведения: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.

Datagridview. Двойным кликом передаю значения на другую форму.
0
 Аватар для Skarlupka
0 / 0 / 0
Регистрация: 25.03.2016
Сообщений: 24
03.01.2017, 19:29
Вам просто можно внести часть кода в try, catch. Ну я так по крайне мере сделал)

Вот код в пример.

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
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (dataGridView1.Rows[e.RowIndex].Cells[0].Value != null)
                {
                    MetForm.personId = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
                    string[] arr = mf.Output_persons(MetForm.personId);
                    try
                    {
                        textBox2.Text = arr[1];
                        textBox3.Text = arr[2];
                        textBox4.Text = arr[3];
                        dateTimePicker1.Value = Convert.ToDateTime(arr[4]);
                        textBox8.Text = arr[6];
                        comboBox2.Text = arr[7];
                        textBox6.Text = arr[8];
                        textBox7.Text = arr[9];
                    }
                    catch { }
                    IdReserv = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
                    Edit.Enabled = true;
                    Save.Enabled = false;
                    Delete.Enabled = true;
                    UnEnableText();
                }
            }
            catch { }
        }
0
1 / 1 / 1
Регистрация: 08.10.2014
Сообщений: 78
03.01.2017, 19:31  [ТС]
Skarlupka, Что у Вас происходит если оно индекс равен 0 ? Я слабо понял
0
 Аватар для Skarlupka
0 / 0 / 0
Регистрация: 25.03.2016
Сообщений: 24
03.01.2017, 19:35
Ну это не важно! Там просто выпадает исключение, данные не заносятся в текстбоксы. Код выполняется в catch, а там пусто значит просто ничего не происходит.
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,099
03.01.2017, 21:57
Цитата Сообщение от Григорий Купитм Посмотреть сообщение
Двойным кликом передаю значения на другую форму.
покажите код, где вы это делаете
0
1 / 1 / 1
Регистрация: 08.10.2014
Сообщений: 78
03.01.2017, 23:57  [ТС]
nedel,
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
ry
            {
                using (ПациентРед fra = new ПациентРед())
                {
                    s1 = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString(); // им
                    s2 = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString(); // фа
                    s3 = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString(); // от
                    s4 = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString(); // пол
                    s5 = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString(); // пол
                    s6 = dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString(); // врач
                    s7 = dataGridView1.Rows[e.RowIndex].Cells[7].Value.ToString(); // д рождения
                    s8 = dataGridView1.Rows[e.RowIndex].Cells[8].Value.ToString(); //работы
                    s9 = dataGridView1.Rows[e.RowIndex].Cells[9].Value.ToString();
                    s10 = dataGridView1.Rows[e.RowIndex].Cells[10].Value.ToString();
                    s11 = dataGridView1.Rows[e.RowIndex].Cells[11].Value.ToString();
                    s12 = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
 
                    fra.s11 = s1; // t3
                    fra.s12 = s2; // t2
                    fra.s13 = s3; // t1
                    fra.s14 = s4; // 
                    fra.s15 = s5;
                    fra.s16 = s6;
                    fra.s17 = s7;
                    fra.s18 = s8;
                    fra.s19 = s9;
                    fra.s20 = s10;
                    fra.s21 = s11;
                    fra.s22 = s12;
 
                    if (fra.ShowDialog() == DialogResult.OK)
                        fra.Show();
                }
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message, "Системное оповещение", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0, "help.chm");
            }
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,099
04.01.2017, 01:31
Цитата Сообщение от Григорий Купитм Посмотреть сообщение
при 2-ом нажатии на заголовок столбца?
какой e.RowIndex вы ожидаете при клике на заголовок столбца? Это свойство имеет смысл при клике на строке
0
1 / 1 / 1
Регистрация: 08.10.2014
Сообщений: 78
04.01.2017, 01:34  [ТС]
nedel, Вероятно, бред? Может порекомендуете валидный вариант?
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,099
04.01.2017, 01:45
Цитата Сообщение от Григорий Купитм Посмотреть сообщение
Может порекомендуете валидный вариант?
сначала раскажите какого эфекта вы ожидаете от двойного клика по заголовку столбца
0
1 / 1 / 1
Регистрация: 08.10.2014
Сообщений: 78
04.01.2017, 01:52  [ТС]
nedel, суть в чем, вероятно, я ошибся в выборе события. Суть была в чем, я дважды щёлкают на любое место в строке и открывается дочерняя форма. Данные из таблицы(по строке которой я и жму два раза данные передаются в дочернюю форму, каким способом ? А таким: два раза по строке и ом-па! Ошибка: когда два раза по столбцу жму
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,099
04.01.2017, 01:56
поставте в начале метода
C#
1
if(e.rowIndex < 0) return;
0
1 / 1 / 1
Регистрация: 08.10.2014
Сообщений: 78
04.01.2017, 01:59  [ТС]
nedel, спасибо, я учту данные замечание. Имееете ввиду перед using ?
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,099
04.01.2017, 02:00
даже перед try
0
1 / 1 / 1
Регистрация: 08.10.2014
Сообщений: 78
04.01.2017, 02:03  [ТС]
nedel, если индексе меньше нуля возвращение, иначе
Тру и катч?
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,099
04.01.2017, 02:09
да, если индекс меньше нуля, то клик не был по строке
0
1 / 1 / 1
Регистрация: 08.10.2014
Сообщений: 78
04.01.2017, 02:11  [ТС]
nedel, событие это же ?
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,099
04.01.2017, 02:13
а эта констукция необычна
C#
1
2
if (fra.ShowDialog() == DialogResult.OK)
    fra.Show();
сначала вы показываете форму как диалог, а потом еще раз как неблокирующее окно, зачем?
0
1 / 1 / 1
Регистрация: 08.10.2014
Сообщений: 78
04.01.2017, 02:16  [ТС]
nedel, чтобы не мог открыть ещё одно окно, пока одно окно открыто!
Это бред?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2017, 02:16
Помогаю со студенческими работами здесь

Двойное нажатие на ImageView
Как реализовать метод двойного нажатия на ImageView ? Добавлено через 4 минуты p.s. По быдлоскому и сам могу :) Может есть...

Двойное нажатие на кнопку
Добрый вечер !!!! Помогите с задачей??? как можно сделать двойное нажатие на кнопку чтобы менялись картинки ??? у меня получилось...

Двойное нажатие клавиши
Доброй ночи. Пишу программу, в которой по двойному нажатию Esc происходит действие. На данный момент надумал только такой код: ...

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

Двойное нажатие кнопки
Подскажите, что нужно исправить,чтобы при повторном нажатии кнопки не выводил другой результат? private void button2_Click_1(object...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru