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


Автор: Dims 20.10.2009, 10:15
Когда открываю диалоговое окно в консольном приложении, оно часто появляется ПОД окном консоли и не видно.

Как сделать, чтобы оно выскакивало сверху?

Безуспешно попробовал следующие способы:

1) Вызывал BringToFront и/или Focus в обработчике Shown
2) Указывал свойство TopMost

Автор: explorer 20.10.2009, 11:49
А как насчет метода ShowDialog()?  Модальное окно должно помочь.

Автор: Dims 20.10.2009, 15:25
Нет, модальное окно не помогало, я сразу так делал.

Помогло Activate в обработчике OnShow.

Автор: diadiavova 20.10.2009, 21:20
Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace show
{
    class Program
    {
        static void Main(string[] args)
        {
            var f = new Form();
            if (Console.ReadKey().Key == ConsoleKey.F2) f.ShowDialog(new winwrapper());
            Console.ReadKey();
        }
    }
    internal class winwrapper : IWin32Window
    {

        #region Члены IWin32Window

        public IntPtr Handle
        {
            get
            {
                return System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
            }
        }

        #endregion
    }
}


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