2012-12-04 125 views
0

我目前正在研究Windows窗體應用程序(C#visual studio)。灰色的整個窗口屏幕

  • 是否有可能在按下按鈕時變灰整個窗口屏幕?
  • 我該如何解決這個問題?
  • 是否也可以將整個屏幕變灰,但在中間留下一個空間用於顯示文本的消息框?
+0

任何人都可以幫我這個問題? – Derek

+1

當你說窗口屏幕,你的意思是窗體或桌面?你究竟在努力完成什麼?你只是想要一個必須點擊的消息框,阻止任何其他交互? –

+0

與大多數人一樣,在發佈前閱讀常見問題解答。 但@Derek嘗試將控件放在您選擇的組合框或其他分組控件中,並將其設置爲「灰色」假。 – JWiley

回答

3

回答你的問題:

  • 是否有可能變爲灰色,整個Windows屏幕時 按下按鈕? 您可以在整個窗口中放置一個面板之類的控件並隱藏它。 然後在按鈕事件中使其可見。將面板的背景設置爲灰色,然後改變透明度以調整它,直到其下方的窗口可見性看起來正確。 這將強制窗口進入「模態模式」,沒有任何出路。所以你最好還有解決這個問題的邏輯。
  • 我該如何解決這個問題? 確保您有一些事件,例如完成事件或查詢以隱藏控件,否則用戶將永遠無法再次返回到您的應用程序。
  • 是否也可以灰顯整個屏幕,但留下一個 中間沒有空格的消息框顯示一些文本? 這比較複雜,說實話,我還沒有玩過WinForm,有一段時間 - 而不是做桌面的WPF。您可能可以使用剪切,但您必須對如何執行剪輯做相當多的研究。使用谷歌 - 它可以成爲你最好的朋友。
+1

應該能夠簡單地通過z-index堆疊完成第三點。有你的控制灰色的整個屏幕,但*上面*有另一個控制作爲你的白色消息框,水平和垂直居中。 –

+0

我同意麥克。如果您只需要顯示消息,而不是隱藏的用戶界面的一部分,那麼只需將該控件放置在面板內即可。當面板被隱藏時,它也應該隱藏消息框。 –

+0

哦,是的。如果您接受這個答案,請將其標記爲答案! –

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;  
}