Запуск дизайнера

Обсуждение Stimulsoft Reports.NET
Ответить
Xptr
Сообщения: 17
Зарегистрирован: 14 авг 2006, 04:42
Откуда: Россия

Запуск дизайнера

Сообщение Xptr »

Осуществляем запуск дизайнера Disign().

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

FormWindowState fws = SysBase.Consts.fmMain.WindowState;
SysBase.Consts.fmMain.WindowState = FormWindowState.Minimized;
//SysBase.Consts.fmMain.ShowInTaskbar = false;
Report.Show();
SysBase.Consts.fmMain.WindowState = fws;
//SysBase.Consts.fmMain.ShowInTaskbar = true;

Такие косяки:
1. После окрытия дизайнера, он не делается активным.
2. Если используем SysBase.Consts.fmMain.ShowInTaskbar = false, то после возвращения в главное окно в нем все глючит (уж не знаю где косяк, возможно и в моем приложении)

3. Так же не могу использовать Design(parentForm), потому что в приложении (MDI) все дочернии окна наследованы от одного класса FormChild, который опеределяет базовую функциональность каждого дочернего окна. При вызове метода с указанием в качестве родитесльского окна своего главного окна, дизайнер то отрисовывается в дочерней вкладке, но вот дальше начинает глючить приложение. (естественно так как окно дизайнера не унаследовано от FormChild)

В общем основной вопрос, как активизировать окно дизайнера после открытия?
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Запуск дизайнера

Сообщение Vital »

Xptr писал(а):Осуществляем запуск дизайнера Disign().

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

FormWindowState fws = SysBase.Consts.fmMain.WindowState;
SysBase.Consts.fmMain.WindowState = FormWindowState.Minimized;
//SysBase.Consts.fmMain.ShowInTaskbar = false;
Report.Show();
SysBase.Consts.fmMain.WindowState = fws;
//SysBase.Consts.fmMain.ShowInTaskbar = true;
Зависает потому, что дизайнер запускается как диалоговое окно.
Используйте такой код:

report.Design(false);

В этом случае дизайнер будет запущен как обыкновенное окно.
Такие косяки:
1. После окрытия дизайнера, он не делается активным.
2. Если используем SysBase.Consts.fmMain.ShowInTaskbar = false, то после возвращения в главное окно в нем все глючит (уж не знаю где косяк, возможно и в моем приложении)

3. Так же не могу использовать Design(parentForm), потому что в приложении (MDI) все дочернии окна наследованы от одного класса FormChild, который опеределяет базовую функциональность каждого дочернего окна. При вызове метода с указанием в качестве родитесльского окна своего главного окна, дизайнер то отрисовывается в дочерней вкладке, но вот дальше начинает глючить приложение. (естественно так как окно дизайнера не унаследовано от FormChild)

В общем основной вопрос, как активизировать окно дизайнера после открытия?
Можно добраться до окна дизайнера через свойство report.Designer:

report.Design(false);
report.Designer.....


В следующей версии дизайнер станет контролом.

Спасибо.
Ответить