private Point mouseLastDown = new Point(-1, -1); // 意味のない地点 // -- 以下、ToolStripのハンドラ /// <summary> /// ボタンの有効/無効を切り替えるためのハンドラ /// ボタンの番号が変わった時に呼び出し側を書き直すのが大変なので、 /// 名前で解決するものとする。 /// </summary> /// <param name="name"></param> /// <param name="enable"></param> private void SetButton(MainDialogButtonEnum name, bool enable) { if (!IsHandleCreated) { return; } ToolStripButton btn; switch (name) { case MainDialogButtonEnum.RESIGN: btn = this.toolStripButton1; break; case MainDialogButtonEnum.UNDO_MOVE: btn = this.toolStripButton2; break; case MainDialogButtonEnum.MOVE_NOW: btn = this.toolStripButton3; break; case MainDialogButtonEnum.INTERRUPT: btn = this.toolStripButton4; break; default: btn = null; break; } // 希望する状態と現在の状態が異なるなら、この時だけ更新する。 if (btn.Enabled != enable) { Invoke(new Action(() => { btn.Enabled = enable; })); } }
private Point mouseLastDown = new Point(-1, -1); // 意味のない地点 // -- 以下、ToolStripのハンドラ /// <summary> /// [UI thread] : ボタンの有効/無効を切り替えるためのハンドラ /// ボタンの番号が変わった時に呼び出し側を書き直すのが大変なので、 /// 名前で解決するものとする。 /// </summary> /// <param name="name"></param> /// <param name="enable"></param> private void SetButton(MainDialogButtonEnum name, bool enable) { ToolStripButton btn; switch (name) { case MainDialogButtonEnum.RESIGN: btn = this.toolStripButton1; break; case MainDialogButtonEnum.UNDO_MOVE: btn = this.toolStripButton2; break; case MainDialogButtonEnum.MOVE_NOW: btn = this.toolStripButton3; break; case MainDialogButtonEnum.INTERRUPT: btn = this.toolStripButton4; break; default: btn = null; break; } // 希望する状態と現在の状態が異なるなら、この時だけ更新する。 if (btn.Enabled != enable) { btn.Enabled = enable; } }