コード例 #1
0
        public void SendToBack()
        {
            if (Topmost)
            {
                return;
            }
            var hWnd = new sw.Interop.WindowInteropHelper(Control).Handle;

            if (hWnd != IntPtr.Zero)
            {
                Win32.SetWindowPos(hWnd, Win32.HWND_BOTTOM, 0, 0, 0, 0, Win32.SWP.NOSIZE | Win32.SWP.NOMOVE);
            }
            var window = sw.Application.Current.Windows.OfType <sw.Window> ().FirstOrDefault(r => r != Control);

            if (window != null)
            {
                window.Focus();
            }
        }
コード例 #2
0
        protected virtual void SetResizeMode()
        {
            if (resizable)
            {
                Control.ResizeMode = sw.ResizeMode.CanResizeWithGrip;
            }
            else if (minimizable)
            {
                Control.ResizeMode = sw.ResizeMode.CanMinimize;
            }
            else
            {
                Control.ResizeMode = sw.ResizeMode.NoResize;
            }

            var hwnd = new sw.Interop.WindowInteropHelper(Control).Handle;

            if (hwnd != IntPtr.Zero)
            {
                var val = Win32.GetWindowLong(hwnd, Win32.GWL.STYLE);
                if (maximizable)
                {
                    val |= (uint)Win32.WS.MAXIMIZEBOX;
                }
                else
                {
                    val &= ~(uint)Win32.WS.MAXIMIZEBOX;
                }
                if (minimizable)
                {
                    val |= (uint)Win32.WS.MINIMIZEBOX;
                }
                else
                {
                    val &= ~(uint)Win32.WS.MINIMIZEBOX;
                }
                Win32.SetWindowLong(hwnd, Win32.GWL.STYLE, val);
            }
        }