C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■92898 / 3階層)  マウスクリックとホイールを無効化する方法
□投稿者/ 魔界の仮面弁士 (2461回)-(2019/11/06(Wed) 10:22:33)
No92889 (yapoo さん) に返信
> ウインドウフォームの外観を変えずに
> マウス(とキーボード)の操作を無効化したいのですが
> このようなことは可能でしょうか?

手抜きですが、それっぽい画像に差し替えてしまうのはどうでしょう?


フォームの階層構成を
 Form1
 ├Panel1
 │├他のコントロール
 │└他のコントロール
 └PictureBox1
ようにしておいて…。


普段の状態:
 ・Panel1 は「最背面」「Visible = True」「Dock = Fill」
・PictureBox1 は「再前面」「Visible = False」「Dock = Fill」
ロックする場合:
 ・Graphics.CopyFromScreen で撮影したフォーム画像を PictureBox1.Image に割り当て
 ・Cursors.WaitCursor を適用
 ・コンテナの Visible を反転させ、Panel1.Visible = False、PictureBox1.Visible = True に。
とする感じで。


それでも、考えるべき点はいろいろありますが…。

複数のフォームがあったらその都度処理しなければいけないとか、
無効化中の画面更新(時計やGIFアニメ等)に対応できないとか、
AutoScroll なフォームをどうするかとか、
半透明ウィンドウの場合はどうするのかとか、
無効化中の親フォームの移動や終了を許可するか否かとか。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[2]: マウスクリックとホイールを無効化する方法 /yapoo 返信無し
 
上記関連ツリー

マウスクリックとホイールを無効化する方法 / yapoo (19/11/05(Tue) 17:04) #92887
Re[1]: マウスクリックとホイールを無効化する方法 / 魔界の仮面弁士 (19/11/05(Tue) 17:14) #92888
│└ Re[2]: マウスクリックとホイールを無効化する方法 / yapoo (19/11/05(Tue) 17:22) #92889
│  ├ Re[3]: マウスクリックとホイールを無効化する方法 / 774RR (19/11/06(Wed) 08:28) #92895
│  └ マウスクリックとホイールを無効化する方法 / 魔界の仮面弁士 (19/11/06(Wed) 10:22) #92898 ←Now
│    └ Re[4]: マウスクリックとホイールを無効化する方法 / yapoo (19/11/06(Wed) 09:58) #92896
Re[1]: マウスクリックとホイールを無効化する方法 / にゃるら (19/11/06(Wed) 15:16) #92901
Re[1]: マウスクリックとホイールを無効化する方法 / KOZ (19/11/07(Thu) 10:44) #92908
  └ Re[2]: マウスクリックとホイールを無効化する方法 / yapoo (19/11/07(Thu) 14:22) #92912 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信