2

私の問題を再現するために、簡単な例から始めましょう。

  1. WinFormsプロジェクトを作成します。
  2. その上にToolStripをドロップします。
  3. その中にToolstripDropdownButtonを作成します(子なし)。
  4. 次のように、クリックイベントハンドラーをボタンに追加します。

    MessageBox.Show("text", "Caption");
    

    (ポイントは、メインフォームのフォーカスを緩めることです)。

問題をより明確にするために、いくつかの不要な追加を行いましょう。

  1. ToolStipのRenderModeをManagerRenderModeに設定します。
  2. Autosizeをfalseに設定し、lilを大きくします。

そして、それはそれを再現するのに十分なはずです。アプリを実行し、ボタンをクリックします。ポップアップが表示されます。ポップアップを閉じて出来上がり...ボタンは誰かが押したままになっているように見えます。

デフォルトの状態にリセットする方法について何かアイデアはありますか?

Buttons ResetBackColor、Refresh...をToolStripsとしても呼び出そうとしました。動作しないようです。多分私は何かが欠けていますか?

4

1 に答える 1

2

MessageBoxまたはモーダルフォームはそれを妨害します。ドロップダウンは子供向けメニュー項目を期待しています。

回避策の例:

private void toolStripDropDownButton1_Click(object sender, EventArgs e) {
  this.BeginInvoke(new Action(() => MessageBox.Show("Help")));
}
于 2013-03-01T16:26:33.203 に答える