コード例 #1
0
ファイル: DesktopOverlayForm.cs プロジェクト: tesys25/pinwin
        /// <summary>
        ///  Prompt user to select a Point on screen.
        /// </summary>
        /// <param name="parentForm">
        ///  A new window will open for this parent form.
        /// </param>
        /// <returns>
        ///  Point that was selected by user. Null if selection was cancelled.
        /// </returns>
        public static Point?SelectPoint(Form parentForm)
        {
            var desktopOverlayForm = new DesktopOverlayForm();

            desktopOverlayForm.ShowDialog(parentForm);
            return(desktopOverlayForm.MouseClickPoint);
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: tesys25/pinwin
        /// <summary>
        ///  Try making window top most, based on mouse click location.
        /// </summary>
        private void PinWindowPrompt()
        {
            if (this._isDesktopOverlayShown)
            {
                //prevent overlay from pinning itself
                return;
            }

            this._isDesktopOverlayShown = true;
            try
            {
                Point?mouseClickPoint = DesktopOverlayForm.SelectPoint(ParentForm);
                if (mouseClickPoint == null)
                {
                    //no point was selected by user, do nothing
                    return;
                }

                this.pinnedWindowListControl.TryAddWindowFromPoint(mouseClickPoint.Value);
            }
            finally
            {
                this._isDesktopOverlayShown = false;
            }
        }