簡體   English   中英

C#中的重疊面板

[英]Overlapping Panels in C#

我在c#中使用GUI表單生成器。 我有一個TransparencyKey設置,並且整個表單的backGround顏色設置為該Transparency鍵,因此表單的背景看起來不可見。 我還首先出現了一個登錄面板,在用戶登錄后該面板消失,其他面板變為可見。 除了我嘗試重疊任何面板時,所有這些都有效。 退回或移到最前面也沒關系。 如果甚至其中一個面板重疊,那么那些重疊面板都會消失嗎? 有什么事嗎

干杯格蘭特

不知道我要說的內容是否適用於您的工作。 今天,我正在嘗試使用Windows窗體中的面板執行類似的操作。 我有兩個面板,我想根據一個數據綁定控件來切換它們的可見性。 當PanelY不可見時,PanelX將可見。 好吧,我遇到了問題... PanelX將可見,而PanelY將不可見。 但是,如果我將表單輸入更改為PanelY應該可見,而PanelX應該不可見,則它們都是不可見的。 無論我做什么,我都無法看到PanelY。

那么解決方案就是這樣。 我已經將PanelY放置在PanelX內(當然沒有意識到我確實這樣做了)。 我想要的是PanelX和PanelY都位於主窗體容器上。 但是就像我說的那樣,PanelY在PanelX的容器內...因此,當PanelX不可見並且應該顯示PanelY時,PanelY也不可見,因為它的容器(PanelX)不可見。

長話短說,請確保您的面板位於正確的容器中。

如果這是WinForms,則Z-Order根本沒有概念。 每個面板將要求父窗體繪制其背景。 因此,WinForms透明性很少能像您期望的那樣工作。

話雖如此,我不明白為什么如果有任何重疊,面板將完全消失。 我過去曾經實現過這種類型的事情,卻從未見過這種行為。 您可以在一個非常小的示例項目中重新創建它並發布代碼嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM