Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Диалоговые окна. Проверка значений


Автор: Ald 11.8.2008, 22:34
Есть 2 формы. С первой формы путем нажатия кнопки открывается вторая форма. На 2-ой форме textBox и 2 кнопки Ок и Отмена, для кнопок заданы DialogResult Ok и Cancel соответственно.  После нажатия кнопки Ок, вторая форма закрывается, потом  проверяется, если в текстбоксе отсутствует текст, то выводится сообщение. 

Код

 private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();
            if(f2.ShowDialog() == DialogResult.OK)
            {
                
                if(f2.textBox1.Text == "")
                {
                    MessageBox.Show("Test");
                }
            }
        }

 
Можно ли сделать такую проверку на второй форме? т. е. если нажата кнопка ОК и текстбокс пуст форма незакрывается и выводится сообщение, если в текстбоксе есть текст то форма закрывается.

Автор: QryStaL 11.8.2008, 23:09
Подписываешься на событие 2-й формы FormClosing

Код

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    private void Form2_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (textBox1.Text == "" && DialogResult == DialogResult.OK)
        {
            MessageBox.Show("...");
            e.Cancel = true;
        }
    }
}

Автор: Ald 12.8.2008, 10:14
Спасибо за помощь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)