0

私は現在、Windows フォーム アプリケーション (C# ビジュアル スタジオ) に取り組んでいます。

  • ボタンを押したときにウィンドウ全体の画面をグレーアウトすることはできますか?
  • どうすればそれを解決できますか?
  • 画面全体をグレー表示にすることもできますが、テキストを表示するためのメッセージ ボックス用に中間にグレー表示されていないスペースを残しますか?
4

2 に答える 2

3

あなたの質問への答え:

  • ボタンを押したときにウィンドウ全体の画面をグレーアウトすることはできますか? ウィンドウ全体にパネルのようなコントロールを配置して非表示にすることができます。次に、ボタン イベントで、それを表示します。パネルの背景を灰色に設定し、透明度を変更して調整し、その下のウィンドウの可視性が正しく見えるようにします。これにより、ウィンドウは強制的に「モーダル モード」になり、抜け道はありません。したがって、これも元に戻すためのロジックを用意する必要があります。
  • どうすればそれを解決できますか? コントロールを非表示にするイベントやクエリの完了などのイベントがあることを確認してください。そうしないと、ユーザーはアプリケーションに二度と戻りません。
  • 画面全体をグレー表示にすることもできますが、テキストを表示するためのメッセージ ボックス用に中間にグレー表示されていないスペースを残しますか? それはより複雑であり、正直に言うと、私はしばらくの間 WinForm で遊んだことがなく、代わりにデスクトップ用の WPF を使用しています。クリッピングを使用できる場合がありますが、その方法についてかなりの調査を行う必要があります。Google を使用してください。Google はあなたの親友になることができます。
于 2012-12-04T19:20:20.757 に答える
0

最も簡単な方法: 以下で説明するように XAML ポップアップを使用する

<Popup x:Name="pop" IsOpen="False" >

</Popup> 

詳細については、以下のリンクをご覧ください。http://www.c-sharpcorner.com/UploadFile/mahesh/using-xaml-popup-in-wpf/

この後、ポップアップを表示するイベントのイベント ハンドラーのメイン グリッドをぼかし、以下の C# コードに示すように不透明度を設定します。

if (pop.IsOpen == false)    
{    
pop.IsOpen = true;    
grdMain.Opacity = 0.4;    
}    
else    
{    
pop.isopen=false;    
}    
于 2015-03-13T14:26:35.433 に答える