Exemplo n.º 1
0
        /// <summary>
        /// 成るか不成りかダイアログによる選択を行います。
        /// </summary>
        private bool CheckToPromote(PieceType pieceType, BWType bwType)
        {
            var dialog    = new PromoteDialog();
            var screenPos = Cursor.Position;

            dialog.StartPosition = FormStartPosition.Manual;
            dialog.Left          = screenPos.X - (dialog.Width / 2);
            dialog.Top           = screenPos.Y - dialog.Height - (int)SquareSize.Height / 2;
            dialog.AdjustInDisplay();

            try
            {
                ClosePromoteDialog();

                // 成り・不成り選択中に外から局面が設定されることがあります。
                // その場合に備えてダイアログ自体を持っておきます。
                this.promoteDialog = dialog;

                var result = dialog.ShowDialog();
                ClosePromoteDialog();

                return(result == DialogResult.OK);
            }
            finally
            {
                ClosePromoteDialog();
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// 成り・不成り選択中に外から局面が設定されることがあります。
 /// その場合には選択ダイアログを強制的にクローズします。
 /// </summary>
 private void ClosePromoteDialog()
 {
     if (this.promoteDialog != null)
     {
         this.promoteDialog.Close();
         this.promoteDialog = null;
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// 成り・不成り選択中に外から局面が設定されることがあります。
 /// その場合には選択ダイアログを強制的にクローズします。
 /// </summary>
 private void ClosePromoteDialog()
 {
     if (this.promoteDialog != null)
     {
         this.promoteDialog.Close();
         this.promoteDialog = null;
     }
 }
Exemplo n.º 4
0
        /// <summary>
        /// 成るか不成りかダイアログによる選択を行います。
        /// </summary>
        private bool CheckToPromote(PieceType pieceType, BWType bwType)
        {
            var dialog = new PromoteDialog();
            var screenPos = Cursor.Position;

            dialog.StartPosition = FormStartPosition.Manual;
            dialog.Left = screenPos.X - (dialog.Width / 2);
            dialog.Top = screenPos.Y - dialog.Height - (int)SquareSize.Height / 2;
            dialog.AdjustInDisplay();

            try
            {
                ClosePromoteDialog();

                // 成り・不成り選択中に外から局面が設定されることがあります。
                // その場合に備えてダイアログ自体を持っておきます。
                this.promoteDialog = dialog;

                var result = dialog.ShowDialog();
                ClosePromoteDialog();

                return (result == DialogResult.OK);
            }
            finally
            {
                ClosePromoteDialog();
            }
        }