重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

C#.NETでプログラミングしています。
フォームの×ボタンを無効にするために「RemoveMenu()」を使っていますが、処理の負荷が大きくなった時に一旦別のウィンドウに隠して再表示したときに×ボタンが有効になってしまいます。
最小化ボタンが必要なので、ControlBoxを無効にすることもできません。
なんとか回避する方法はないでしょうか。

A 回答 (3件)

私の環境でも再現しました。

確かに×ボタンが有効になってしまいますね。

他にも方法があるかもしれませんが、とりあえず重い処理を別スレッドで実行したら解決しました。
    • good
    • 0
この回答へのお礼

度々ありがとうございます。
別スレッドですか。試してみます。
ありがとうございました。

お礼日時:2006/09/22 16:44

http://www.atmarkit.co.jp/fdotnet/dotnettips/142 …

こちらを参考に自分の環境でテストしました。
うまくできましたよ。
    • good
    • 0
この回答へのお礼

ありがとうございます。
まったくその通りにしているんですが、処理の負荷がかかった時(下記の処理など)、一旦別のウィンドウに隠して、再度表示したときに、処理が終わるまで×印が出てくるんです。
それを回避したいんですが...

----------------
for(i=0;i<1000;i++)
{
 for(j=0;j<1000;j++)
 {
  if (j > 0)
  {
   k = i / j;
   label1.Text = k.ToString();
  }
 }
}
----------------

ありがとうございました。

お礼日時:2006/09/14 17:21

単純に×ボタンクリックによるFormのCloseを防ぎたいのでしたら、FormClosingイベントを追加し、


e.Cancel = true; でOKです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
e.Cancel = true; とすると自分で用意した閉じるためのコマンドボタンも無効になってしまいます。
また、×ボタンを有効にしたくないんです。(そういう仕様なんです)
よろしくお願いします。

お礼日時:2006/09/13 09:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!