Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/54: Рейтинг темы: голосов - 54, средняя оценка - 4.87
1313 / 975 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
1

Поля, обязательные для заполнения

02.09.2014, 17:40. Просмотров 9835. Ответов 4
Метки нет (Все метки)


Добрый вечер.Подскажите как можно сделать textbox и например combobox, обязательными для заполнения?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2014, 17:40
Ответы с готовыми решениями:

Поля формы обязательные для заполнения
Подскажите как на форме сделать обязательные для заполнения текст боксы, чтобы при нажатии кнопки...

Заполнения текстового поля в awesomium
Здравствуйте. Может кто-нибудь объяснить как заполнить обычное текстовое поле с id='filetext' при...

Заполнения текстового поля в awesomium
Вот так вот заполняется после для которого мы знаем Id элемента, подскажите как сделать тоже самое...

Перенос данных из программы в поля заполнения браузера
Я новенький в этом деле. Как мне сделать, что бы текст вставленный в Forms1, Forms2, Forms3, при...

4
Администратор
Эксперт .NET
9014 / 4289 / 744
Регистрация: 17.04.2012
Сообщений: 9,095
Записей в блоге: 14
02.09.2014, 18:05 2
Т.е. вам нужно, чтобы форма не закрывалась, пока поля не заполнены?
Повесьте проверку их содержимого в событие FormClosing.
C#
1
2
3
4
5
6
private void MainForm_FormClosing(object sender, FormClosingEventArgs e) {
    if (String.IsNullOrWhiteSpace(TextBox1.Text)) {
        e.Cancel = true;
        MessageBox.Show("Заполните все поля");
    }
}
1
8117 / 4388 / 1724
Регистрация: 11.02.2013
Сообщений: 9,349
03.09.2014, 02:34 3
Лучший ответ Сообщение было отмечено David Sylva как решение

Решение

Используй событие Validated у контролов и компонент ErrorProvider
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        textBox1.Validated += textBox1_Validated;
        comboBox1.Validated += comboBox1_Validated;
        errorProvider1.SetIconAlignment(textBox1, ErrorIconAlignment.MiddleRight);
        errorProvider2.SetIconAlignment(comboBox1, ErrorIconAlignment.MiddleRight);
    }
 
    void comboBox1_Validated(object sender, EventArgs e) {
        if ((sender as ComboBox).SelectedIndex == -1)
            errorProvider2.SetError(comboBox1, "Выберите значение из списка");
        else
            errorProvider2.SetError(comboBox1, string.Empty);
    }
 
    void textBox1_Validated(object sender, EventArgs e) {
        if (string.IsNullOrEmpty((sender as TextBox).Text))
            errorProvider1.SetError(textBox1, "Заполните поле!");
        else
            errorProvider1.SetError(textBox1, string.Empty);
    }
}
2
2 / 2 / 2
Регистрация: 30.12.2010
Сообщений: 24
18.11.2016, 06:11 4
Добрый день! пробовала сделать по вашему примеру, ничего не вышло. Мне необходимо сделать так, чтобы при нажатии кнопки сформировать акт, не было не заполненных сheckedlistbox'ов. Подскажите что я делаю не так?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        public NewAct()
        {
            InitializeComponent();
            checkListbx_Appearance.Validated += checkListbx_Appearance_Validated;
            checkListbx_Walking.Validated += checkListbx_Walking_Validated;
            checkListbx_Complaints.Validated += checkListbx_Complaints_Validated;
            checkListbx_ChangeMentality.Validated += checkListbx_ChangeMentality_Validated;
            checkListbx_Eyes.Validated += checkListbx_Eyes_Validated;
            errorProviderApp.SetIconAlignment(checkListbx_Appearance, ErrorIconAlignment.MiddleRight);
            errorProviderWall.SetIconAlignment(checkListbx_Walking, ErrorIconAlignment.MiddleRight);
            errorProviderComp.SetIconAlignment(checkListbx_Complaints, ErrorIconAlignment.MiddleRight);
            errorProviderChange.SetIconAlignment(checkListbx_ChangeMentality, ErrorIconAlignment.MiddleRight);
            errorProviderEyes.SetIconAlignment(checkListbx_Eyes, ErrorIconAlignment.MiddleRight);
        }
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
private void checkListbx_Appearance_Validated (object sender, EventArgs e)
        {
            if ((sender as CheckedListBox).SelectedIndex == -1)
            {
                errorProviderApp.SetError(checkListbx_Appearance, "Выберите значение из списка 'Внешний вид'!");
           
            } 
            else
                errorProviderApp.SetError(checkListbx_Appearance, string.Empty);
        }
 
        private void checkListbx_Walking_Validated(object sender, EventArgs e)
        {
            if ((sender as CheckedListBox).SelectedIndex == -1)
                errorProviderWall.SetError(checkListbx_Walking, "Выберите значение из списка 'Походка'!");
            else
                errorProviderWall.SetError(checkListbx_Walking, string.Empty);
        }
 
        private void checkListbx_Complaints_Validated(object sender, EventArgs e)
        {
            if ((sender as CheckedListBox).SelectedIndex == -1)
                errorProviderComp.SetError(checkListbx_Complaints, "Выберите значение из списка 'Жалобы'!");
            else
                errorProviderComp.SetError(checkListbx_Complaints, string.Empty);
        }
 
        private void checkListbx_ChangeMentality_Validated(object sender, EventArgs e)
        {
            if ((sender as CheckedListBox).SelectedIndex == -1)
                errorProviderChange.SetError(checkListbx_ChangeMentality, "Выберите значение из списка 'Изменения психической деятельности'!");
            else
                errorProviderChange.SetError(checkListbx_ChangeMentality, string.Empty);
        }
 
        private void checkListbx_Eyes_Validated(object sender, EventArgs e)
        {
            if ((sender as CheckedListBox).SelectedIndex == -1)
                errorProviderEyes.SetError(checkListbx_Eyes, "Выберите значение из списка 'Зрачки'!");
            else
                errorProviderEyes.SetError(checkListbx_Eyes, string.Empty);
        }
Добавлено через 16 часов 0 минут
ViterAlex, Добрый день! пробовала сделать по вашему примеру, ничего не вышло. Мне необходимо сделать так, чтобы при нажатии кнопки сформировать акт, не было не заполненных сheckedlistbox'ов. Подскажите что я делаю не так?

P.S. Код выше
0
8117 / 4388 / 1724
Регистрация: 11.02.2013
Сообщений: 9,349
18.11.2016, 07:11 5
Снежка89, попробуй вот так. В каждом событии Validated вызывается метод, проверяющий, что ни для одного контрола на форме не установлена ошибка в ErrorProvider. В этом случае кнопка становится активной. Иначе — неактивной.
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
private void comboBox1_Validated(object sender, EventArgs e)
{
    if (comboBox1.SelectedIndex == -1)
    {
 
        errorProvider1.SetError(comboBox1, "Выберите значение");
        errorProvider1.SetIconAlignment(comboBox1, ErrorIconAlignment.MiddleRight);
    }
    else
    {
        errorProvider1.SetError(comboBox1, string.Empty);
    }
    SetButtonEnabled();
}
 
private void SetButtonEnabled()
{
    foreach (Control control in Controls)
    {
        if (string.IsNullOrEmpty(errorProvider1.GetError(control))) continue;
        button1.Enabled = false;
        return;
    }
    button1.Enabled = true;
}
 
private void checkBox1_Validated(object sender, EventArgs e)
{
    if (!checkBox1.Checked)
    {
        errorProvider1.SetError(checkBox1, "Отметьте галочку");
        errorProvider1.SetIconAlignment(checkBox1, ErrorIconAlignment.MiddleRight);
    }
    else
    {
        errorProvider1.SetError(checkBox1, string.Empty);
    }
    SetButtonEnabled();
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2016, 07:11

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

Обязательные поля для заполнения
Ребят подскажите.нужно сделать что бы все поля на форме были обязательными. Вот код формы ...

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

Реализовать поля, обязательные для заполнения
Всем привет.Покажите пожалуйста на примере, как сделать поля обязательные для заполнения?

Как сделать поля обязательные для заполнения
мне нужно отметить поля обязательные для заполнения красной звездочкой, как это сделать


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

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

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