c#: 以模态窗口显示于其它进程窗体之前

产品之工具箱,需要工具以模态窗体,显示于主界面之上。记下代码点,以做备忘。

1、IWin32Window

    internal class Win32Window : IWin32Window
    {
        public Win32Window(IntPtr handle)
        {
            this.Handle = handle;
        }

        public IntPtr Handle
        {
            get;
            private set;
        }
    }

2、窗体显示处理

    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            var mainForm = new MainForm();
            int h;
//这里,当再加入窗体是否有效判断
if (args.Length == 0 || !int.TryParse(args[0], out h)) Application.Run(mainForm); else { var w = new Win32Window((IntPtr)h); mainForm.ShowDialog(w); } } }

猜你喜欢

转载自www.cnblogs.com/crwy/p/8950357.html