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

Фокус формы по непонятным причинам

09.11.2014, 15:23. Показов 1254. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Хотел бы попросить помочь в объяснении почему происходит следующая странная вещь:
Если вкратце, я пишу клиент для работы с БД SQL Server, в данном приложении есть основная форма, сразу после запуска приложения выскакивает модальное окно с формой авторизации:
C#
1
2
3
4
5
private void MainForm_Load(object sender, EventArgs e)
{
       Auth F = new Auth();
       F.ShowDialog();
}
Часть кода из формы авторизации:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void OKButton_Click(object sender, EventArgs e)
{
    if (Login.Text != "")
       {
            if (Password.Text != "")
       {
          SqlDataReader reader = US.LetsDoSQL("SELECT * FROM Security Where Login=" + "'" + Login.Text + "'" +
          " AND Password=" + "'" + US.GetMD5(Password.Text) + "'");
          if (reader.HasRows == true)
          { 
               if (Password.Text == "123456")
                     {
                        NewPassword F = new NewPassword();
                        // Проблемная строка F.SecretID.Text = reader[1].ToString();
                        conn.Close();
                        F.ShowDialog();
                     }
...
Предполагается, что если у пользователя пароль сброшен (сброшенный пароль =123456) то откроется форма, отвечающая за смену пароля - форма NewPassword. Но по каким то непонятным причинам, во время выполнения выделенной мной строчки (я это заметил во время трассировки), главная форма (MainForm) неожиданно получает фокус, а форма авторизации закрывается... То ли я совсем отупел и не замечаю что то очевидное, то ли я за 3 года так и не понял как работает C# , подскажите пожалуйста, что происходит)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.11.2014, 15:23
Ответы с готовыми решениями:

Вываливающийся по непонятным причинам сервис
Имеется более года назад написанный сервис, который среди всего прочего ночью делает архив базы mysql. Есть отдельный класс, для работы с...

Недопустимое приведение по непонятным причинам при извлечении данных из бд
При отладке вылетает исключение с текстом System.InvalidCastException: "Заданное приведение является недопустимым."...

Изменение размеров формы по непонятным причинам
Вот такой вот фрагмент кода: procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); var Kon: boolean; i: byte; begin if...

2
311 / 309 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
09.11.2014, 17:17
Только предположение, проверьте, не стоит ли на кнопке свойство DialogResult = OK. Может отказаться от автомата и ставить строкой кода в конце обработчика нажатия?
0
0 / 0 / 1
Регистрация: 09.11.2014
Сообщений: 10
10.11.2014, 11:37  [ТС]
Проверил, стоит значение None, это не то...

Добавлено через 19 минут
Почему-то форма получает фокус именно в тот момент когда я присваиваю переменной значение из результата запроса к БД. Вот метод работы с запросом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public SqlConnection conn=new SqlConnetion("Данные подключения к БД");
public SqlDataReader LetsDoSQL(string query)
{
conn.Close();
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
cmd.CommandText = query;
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
conn.Open();
reader = cmd.ExecuteReader();
return reader;
}
Он находится в отдельном классе куда я поместил различные полезные методы. Если происходит любое присваивание с участием результата этого метода, например:
C#
1
string s=reader[2].ToString();
То форма становится активной, даже если в ее свойствах установить что она спрятана и не доступна.

Добавлено через 18 минут
Все, я решил проблему, правда так и не понял почему компилятор вместо ошибки выдавал мне форму Оо.
Проблема в том что я забыл поставить строчку
C#
1
reader.Read();
данных без этой строки переменная получить не могла, и, поидее в таких ситуациях Visual Studio орет об ошибке, но он не стал...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2014, 11:37
Помогаю со студенческими работами здесь

Вылет по непонятным причинам!
вот мой код....правда не полный...потомучто ошибка гдето тут: #include <iostream.h> #include <conio.h> ...

Тормозит компьютер по непонятным причинам
Вообщем дела такие: у меня компьютер работает нормально, игрушки запускаются мощный и не лагают, НО когда дело касаются установки игры,...

По непонятным причинам не запускается код
По непонятным причинам не запускается код.Проверьте и помогите пожалуйста:3 #define _CRT_SECURE_NO_WARNINGS #include <conio.h> ...

Фрагментируется диск по непонятным причинам
В общем раньше все было нормально, а вот последние 1-2 месяца, выкачиваю торрентом по 200 гб за день, ну плюс ещё иногда игры устанавливаю....

Часто зависает по непонятным причинам
Доброго времени суток. Вообщем возникла такая проблема: установочный диск в порядке, HDD впорядке. Система слетает по непонятным причинам,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru