Минимизация окна с модальным диалогом
От: Quaker_AL  
Дата: 24.01.05 08:49
Оценка:
Здравствуйте,

Может кто-нибудь подскажет как мимнимизировать главное окно при условии что открыт модальный диалог,
что-бы при востановлении главного окна модальный диалог не пропадал. А то он закрывается в момент минимизации главного окна.

Заранее спасибо.
Re: Минимизация окна с модальным диалогом
От: squiz  
Дата: 24.01.05 13:48
Оценка:
Здравствуйте, Quaker_AL, Вы писали:

Q_A>Может кто-нибудь подскажет как мимнимизировать главное окно при условии что открыт модальный диалог,

Q_A>что-бы при востановлении главного окна модальный диалог не пропадал. А то он закрывается в момент минимизации главного окна.

Может сделать ему Hide()...
Never underestimate those behind you...
Минимизация окна с модальным диалогом
От: Аноним  
Дата: 24.01.05 09:10
Оценка:
Покажите на примере ниже как Вы сворачиваете главное окно, при условии, что открыто модальное окно:
using System;
using System.Windows.Forms;
class MainForm: Form
{
  public MainForm()
  {
    Button btShowModal = new Button();
    btShowModal.Click += new EventHandler(btShowModal_Click);
    btShowModal.Parent = this;
  }
  static void Main()
  {
    Application.Run(new MainForm());
  }
  Form modalForm;
  private void btShowModal_Click(object sender, EventArgs e)
  {
    modalForm = new Form();
    modalForm.ShowDialog();
  }
}





данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Минимизация окна с модальным диалогом
От: Аноним  
Дата: 24.01.05 09:27
Оценка:
Дополнительно к этому, у меня есть еще Таймер, который и минимизирует основное окно:

private void Timer_Tick(object sender, System.EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
}


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Минимизация окна с модальным диалогом
От: Аноним  
Дата: 24.01.05 14:16
Оценка:
using System;
using System.Windows.Forms;
class MainForm: Form
{
  Timer timer = new Timer();
  Form modalForm = new Form();
  bool needToShow;
  public MainForm()
  {
    modalForm.Closed += new EventHandler(modalForm_Closed);
    Button btShowModal = new Button();
    btShowModal.Click += new EventHandler(btShowModal_Click);
    btShowModal.Parent = this;
    timer.Interval = 5000;
    timer.Tick += new EventHandler(timer_Tick);
    timer.Start();
    
  }
  static void Main()
  {
    Application.Run(new MainForm());
  }
  private void btShowModal_Click(object sender, EventArgs e)
  {
    modalForm.ShowDialog();
    needToShow = true;
  }
  private void timer_Tick(object sender, EventArgs e)
  {
    if (WindowState == FormWindowState.Normal)
      WindowState = FormWindowState.Minimized;
    else
    {
      WindowState = FormWindowState.Normal;
      if (needToShow)
        modalForm.ShowDialog();
    }
  }
  private void modalForm_Closed(object sender, EventArgs e)
  {
    needToShow = false;
  }
}




данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Минимизация окна с модальным диалогом
От: Аноним  
Дата: 25.01.05 05:02
Оценка:
Все это конечно хорошо, если мы хотим обмануть пользователя. Но смысл в другом, не дать продолжить выполнение кода:

private void btShowModal_Click(object sender, EventArgs e)
{
modalForm.ShowDialog();
needToShow = true;
}
...после modalForm.ShowDialog(). Ведь там может быть заложена логика, которой нельзя пренебречь, а также логика может быть заложена и в самом модальном диалоге.

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

Вот в Delphi к примеру все работает как надо...



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Минимизация окна с модальным диалогом
От: Аноним  
Дата: 25.01.05 10:24
Оценка:
>после modalForm.ShowDialog(). Ведь там может быть заложена логика, которой нельзя пренебречь

Логика — всмысле действия, выполняющие в OnLoad'e?

В конструктор не получится перенести эту логику?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Минимизация окна с модальным диалогом
От: Аноним  
Дата: 26.01.05 04:15
Оценка:
Логика слишком сложная чтобы ее перенести в конструктор.

Я схожусь во мнении что либо это глюк (т.к на чистом Win32 API и даже на Visual С++ MFC все работает правильно), либо надо играть с настройками модального окна.



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.