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

Авторизация с использованием потоков

03.08.2016, 11:57. Показов 1294. Ответов 3

Студворк — интернет-сервис помощи студентам
Пытаюсь сделать авторизацию пользователей, подключив базу данных access. Как реализовать через потоки? Чтобы форма логина и пароля закрывалась, а вторая форма открывалась при успешной авторизации. Что писать в скобочках?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
try
            {
                string comand = string.Format("Select * From Login WHERE USERNAME="" + comboBox1.Text + """
                    + "AND PASSWORD="" + textBox2.Text + """);
                OleDbCommand check = new OleDbCommand(comand, con);
                con.Open();
 
                if (check.ExecuteScalar() != null)
                {
                    Thread t1 = new Thread(Что сюда прописывать?);
                    t1.Start();
                    this.Close();
 
                   /*MainForm t1 = new MainForm(start);
                    t1.Show();
                    //this.Close();*/
                }
                else
                {
                    MessageBox.Show("Проверьте введеный логин и пароль! Или обратитесь к системному администратору.");
                }
            }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.08.2016, 11:57
Ответы с готовыми решениями:

Светофор с использованием потоков и lock
Изменение цвета кнопок на форме при помощи переключения между 3 потоками с использованием lock, у меня получилось только сделать мигание...

Авторизация с использованием combobox
Помогите сделать авторизацию. В ComboBox выбираем пользователя вводим пароль и он переходит на следующую форму.

Авторизация с использованием Cookies
Я вот первый раз такое делаю и не понимаю... Как вот получить куки. С помощью Fiddlera, я узнал что есть csftoken и sessionid..Вот какой...

3
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
03.08.2016, 12:21
Лучший ответ Сообщение было отмечено Denis SH как решение

Решение

Denis SH, а зачем вам потоки?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    class Program
    {
        static void Main()
        {
            DialogResult result;
            using (var loginForm = new LoginForm())
            {
                result = loginForm.ShowDialog();
            }
            if (result == DialogResult.OK)
            {
                Application.Run(new Mainform());
            }
        }
    }
Соответственно, в LoginForm проверяете правильность данных и выставляете нужный DialogResult
1
2 / 2 / 1
Регистрация: 11.05.2016
Сообщений: 36
04.08.2016, 12:08  [ТС]
А как скрыть форму авторизации, после успеха?

в program.cs:
C#
1
2
3
4
5
6
7
8
9
DialogResult result;
            using (var loginForm = new IdentificationForm())
            {
                result = loginForm.ShowDialog();
            }
            if (result == DialogResult.OK)
            {
                Application.Run(new MainForm());
            }
Form1.cs:
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
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\zemlyanayasv\\Desktop\\Login.accdb");
        private void btnLogin_Click(object sender, EventArgs e)
        {
            try
            {
                string comand = string.Format("Select * From Login WHERE USERNAME="" + comboBox1.Text + """
                    + "AND PASSWORD="" + textBox2.Text + """);
                OleDbCommand check = new OleDbCommand(comand, con);
                con.Open();
 
                if (check.ExecuteScalar() != null)
                {
                    Form t1 = new MainForm();
                    t1.Show();
                   // this.Close();
                }
                else
                {
                    MessageBox.Show("Проверьте введеный логин и пароль! Или обратитесь к системному администратору.");
                }
            }
            finally
            {
               con.Close();
            }
        }
0
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
04.08.2016, 12:17
Лучший ответ Сообщение было отмечено Denis SH как решение

Решение

Denis SH,
Вам не нужно создавать и показывать главную форму внутри формы аутентификации. Она запустится при Application.Run(new MainForm())

В случае успеха, вам достаточно указать DialogResult внутри формы аутентификации:
C#
1
this.DialogResult = DialogResult.OK;
и форма автоматом должна закрыться.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.08.2016, 12:17
Помогаю со студенческими работами здесь

Заправка машин с использованием потоков
Помогите реализовать программу,задача такая:на заправке 5 пистолетов нужно заправить 50 машин,нужно реализовать с помощью потоков.

Сервер с использованием пула потоков для параллельной обработки запросов клиентов
Разработать сервер с использованием пула потоков для параллельной обработки запросов клиентов. К серверу подключается много клиентов, все...

Разработать программу, генерирующую n потоков в пуле потоков CLR
Добрый вечер. Решил поделать старые лабораторные, которые мне уже давно нужно было сдавать, но встрял на одном задании: "Разработать...

Помощь с использованием потоков
Добрый вечер, вот пишу программу, которая создает 2 потока, первый считает в файле кол-во символов и записывает в файл, второй считает...

Простая программа с использованием потоков
Требуется в потоке сосчитать факториал 12 и вывести его значение, в результате работы программы выводится сообщение "create...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
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
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru