Mdi и Binding. Bug ???
От: Пингвин  
Дата: 23.06.05 08:43
Оценка:
Здравтсвуйте !

Если коротко, то наблюдается странное поведение забинденых контролов в MdiChild окнах. Если не сложно, попробуйте воспроизвести это дело, и может дадите какой-нибудь совет.
Здесь полный код тестового приложения.

Итак, как воспроизвести.

1. Создаём проект C# Windows Forms Application, добавляем в него ещё одну форму Form2.
2. В Form1 устанавливаем IsMdiContainer = true. Добавляем MainMenu, в него Добавляем один (это не важно) айтем. Пишем в обработчике OnClick этого айтема.

    Form2 f = new Form2();
    f.MdiParent = this;
    f.Show();

3. Идёт в дизайнер Form2. Добавляем Untyped DataSet, в него добавляем одну таблицу, в неё две колонки. На форму кидаем 2 текстбокса, биндим их к 1-й и второй колонке соответственно.
4. Пишем для Form2 обработчик на событие Load

    DataRow r = dataSet1.Tables[0].NewRow();
    dataSet1.Tables[0].Rows.Add(r);


4. Пишем для Form2 обработчик на событие Closing:

    dataSet1.Tables[0].Rows[0].EndEdit();
    if(MessageBox.Show(this, "???", "", MessageBoxButtons.YesNo)
        !=DialogResult.Yes)
    {
        e.Cancel = true;
    }


Теперь как воспроизвести глюк.
Запускаем приложение, тыкаем 4 раза на меню, чтобы появилось 4 формы Form2.
Заполняем последнюю появившуюся форму, закрываем её, говорим "Yes" (или "да").
В активной форме опять заполняем текстбоксы, и пытаемся закрыть её.
Во тут-то, когда вылезает MessageBox, у меня из первого текстбокса пропадает текст.
Что делать ???
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.