我有windows窗體不透明度70%,即使用從服務器獲取數據時,作爲覆蓋使用70%。c#winform不透明度70%,但面板內不透明度100%
在我的窗體中我有一個以「Please Wait ...」文本居中的面板。此時此面板也會受到不透明度的影響,但我想覆蓋面板的面板,因此面板不透明度爲100%。
任何線索?
非常感謝
我有windows窗體不透明度70%,即使用從服務器獲取數據時,作爲覆蓋使用70%。c#winform不透明度70%,但面板內不透明度100%
在我的窗體中我有一個以「Please Wait ...」文本居中的面板。此時此面板也會受到不透明度的影響,但我想覆蓋面板的面板,因此面板不透明度爲100%。
任何線索?
非常感謝
我不相信你可以做一個包含面板比它的容器更不透明,所以它不會像只設置不透明度一樣簡單。
兩個想法發生對我說:
在這兩個,第一個聽起來不太難看 - 它只是意味着你需要一個額外的頂層表單。第二個不是真的很糟糕,但是,你只需要遍歷頂層表單的所有子節點。
遵循您的建議,我創建了一個70%不透明度的frmOverlay。然後從我的主要形式中展示出來。然後,在frmOverlay.Load事件中,我創建了一個frmPleaseWait窗體的實例,這是一個100%不透明度,我也是一個frm.Show(this)。似乎它的工作正常。這兩種形式都不是最高級的,所以如果應用程序在後臺,我不想看到「請稍候」。你怎麼看? – VAAA
@VAAA如果你的意思是'frmPleaseWait.Show(this)',請刪除'(this)'。否則,你會讓'frmOverlay'成爲另一個人的父母。 –
請參閱:http://social.msdn.microsoft.com/Forums/windows/en-US/43124fb0-3422-42a8-93d4-e76c4410ac42/semitransparent-form-with-no-transparent-control – sara
This isn' t支持到Windows 8.鑑於其受歡迎程度,您必須等待另一個十年才能依靠它。簡單的解決方法是在頂部顯示另一個表單。 –