Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
0 / 0 / 1
Регистрация: 03.03.2013
Сообщений: 23
1

Авторизация. Как сделать поля "логин" и "пароль" в одной форме

25.04.2013, 21:52. Просмотров 4180. Ответов 5
Метки нет (Все метки)


как сделать так чтобы при вводе одного логин и пароля открывалось одно окно.
а при вводе другого лог. пароля другая форма.
в общем, администратор, продавец и агент по закупкам, и клиенты, при вводе разных данных открываются разные формы.


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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace sinka2
{
    public partial class Form1 : Form
    {
        string password;
        string username;
      
        
        public Form1()
        {
            InitializeComponent();
            
            password = "12345";
            username = "admin";
          
        }
 
        private void otmenaBTN_Click(object sender, EventArgs e)
        {
            this.Close();
        }
 
        private void vxodBT_Click(object sender, EventArgs e)
        {
 
            if (loginTextBox.Text == username && passTextBox.Text == password)
            {
                Форма__администратора форма__администратора = new Форма__администратора();
                форма__администратора.ShowDialog();
               
            }
 
            if (loginTextBox.Text == username && passTextBox.Text == password)
            {
                Форма__администратора форма__администратора = new Форма__администратора();
                форма__администратора.ShowDialog();
 
            }
            else
            {
                MessageBox.Show("Неверный пароль");
            }
            
            
 
 
        }
 
        
 
        private void maskedTextBox2_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
        {
            /*логин*/
        }
 
     private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
        {
            /*пароль*/
        }
 
     }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2013, 21:52
Ответы с готовыми решениями:

Как исправить "преобразование типа из "string" в "System.Net.IPEndPoint" невозможно"?
Здравствуйте, не могу отправить массив байт, может кто-то знает как правильно записать ip. При...

как сделать что бы в textBox можно было вводить только цифры, "," и "-"
как сделать что бы в textBox можно было вводить только цифры, "," и "-"

Как сделать чтобы при наборе ответа в TextBox, выводил сообщение "правильно" или "неправильно"?
вот код программы: private void chislo_Click(object sender, EventArgs e) { ...

Как сделать так чтоб если человек вводил текст то когда он ввел слово "hell" оно заменилось на "hello"
Как сделать так чтоб если человек вводил текст,b когда он ввел слово "hell" оно заменилось на...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
5
311 / 174 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
25.04.2013, 22:32 2
Т.е нужно после того,как ввели логин,узнать уровень доступа данной уч. записи и открыть соответствующую форму?Я правильно понял?Где хранятся учетные записи?в бд?

Добавлено через 1 минуту
А у Вас даже сама конструкция не правильная.Вот так нужно
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 if (loginTextBox.Text == username && passTextBox.Text == password)
            {
                Форма__администратора форма__администратора = new Форма__администратора();
                форма__администратора.ShowDialog();
               
            }
 
         else if (loginTextBox.Text == username && passTextBox.Text == password)
            {
                Форма__администратора форма__администратора = new Форма__администратора();
                форма__администратора.ShowDialog();
 
            }
            else
            {
                MessageBox.Show("Неверный пароль");
            }
0
0 / 0 / 1
Регистрация: 03.03.2013
Сообщений: 23
25.04.2013, 22:42  [ТС] 3
да, все правильно поняли. не поможете со стряпать все это. может пример какой-то есть??
0
311 / 174 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
25.04.2013, 23:23 4
Делал не раз такое уже..Алгоритм примерно такой:
1)Вводим логин и пароль
2)Проверяем на верность
3)Если верно,то ищем в базе учетную запись с данным логином,смотрим его уровень доступа и дальше уже сравниваем..

Добавлено через 9 минут
Вот пример этого метода в одной из моих программ,возможно расточительно слегка,но уж извините)как есть)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
int userindex;
        bool a = false;
        private void button1_Click(object sender, EventArgs e)
        {
 
            foreach (DataRow row in this.исбдDataSet2.УчетныеЗаписи.Rows)//проходим циклом по всем строкам в таблице пароли
            {
 
                if (textBox1.Text == row["Логин"].ToString())//если введеная уч. запись существует
                {
                    userindex = this.исбдDataSet2.УчетныеЗаписи.Rows.IndexOf(row);//записываем индекс этой строки
                }
            }
 
            if (textBox1.Text == this.исбдDataSet2.УчетныеЗаписи.Rows[userindex]["Логин"].ToString())//если введеная уч. запись существует
            {
 
                if (this.исбдDataSet2.УчетныеЗаписи.Rows[userindex]["Пароль"].ToString() == textBox2.Text)//если пароль верный
                {
                    
                    Data.Login = textBox1.Text;
                    if (a == false)
                    {
                        if (this.исбдDataSet2.УчетныеЗаписи.Rows[userindex]["УровеньДоступа"].ToString() == "Администратор")
                        {
                            this.Hide();
                            Data.AccessLevel = 0;
                            Form2 f = new Form2();
                            f.ShowDialog();
                        }
                        else
                        {
                            Data.AccessLevel = 1;
                        }
                    }
                    else 
                    {
                        this.Hide();
                        Data.AccessLevel = 1;
                        Form2 f = new Form2();
                        f.ShowDialog();
                    }
 
                   
 
                }
                else//если пароль не верный
                {
                    MessageBox.Show("Неверный пароль!", "Неверный пароль!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
 
 
            }
            else//если уч. запись не найдена
            {
                MessageBox.Show("Учетная запись не найдена или отсутствует доступ!", "Учетная запись не найдена!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
2
33 / 27 / 2
Регистрация: 08.09.2010
Сообщений: 402
07.12.2013, 19:25 5
Что такое Data?
C#
1
Data.Login = textBox1.Text;
0
441 / 297 / 62
Регистрация: 12.10.2009
Сообщений: 1,159
08.12.2013, 16:52 6
господи как люди любят свои велосипеды....
1) включите в приложении профиль "NET FrameWork 4" в место "NET FrameWork 4 Client Profile"
2) Включите и настройте "Службы клиентских клиентских приложений"
3) В app.config настройте хранилище и провайдеры ролей и пользователей MemberShip
4) используйте в своем приложении стандартный механизм MemberShip и будя вам счастье
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2013, 16:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Нужно чтобы в поля: "Год издания" и "Количество" можно было вводить только цифры
Помогите пожалуйста. Нужно чтобы в поля: "Год издания" и "Количество" можно было вводить только...

Выполнение одной кнопкой разных операций ("Старт", "Стоп")
Есть кнопка одна. Изначально это Старт как сделать, что бы после её нажатия, текст изменялся уже на...

Цель - при нажатии на кнопку создать еще одну кнопку. Ошибка "Button" не содержит определения для "Location" и "Text""
int Control ; private void Button2_Click(object sender, RoutedEventArgs e) {...

Классы "Работник", "Календарь", "Оплата труда за месяц". Вывод табеля рабочего времени сотрудника
1. Реализовать класс работник, у класса свойства фамилия (строка), имя (строка), отчество (строка),...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.