2011-09-01 43 views
0

我想在Windows窗體應用程序中使用Visual C#切換表單背景透明度。TransparencyKey屬性的形式

我用

BackColor = Color.White; 
TransparencyKey = Color.White; 

現在我想切換回 「不透明」。我怎麼能做到這一點?只是切換BackColor使得表單上的元素看起來很奇怪,而且感覺很難看。 我想有一種重置屬性的方法。

+0

「難看」是什麼意思?不要將其切換回Color.Fuchsia。並且不要使用White作爲透明度鍵。太常見了。使用拼湊起來的顏色。 –

回答

1

如何將BackColor和TransparencyKey的先前值存儲在局部變量中,並在想要恢復爲非透明時恢復它們?例如:

private Color _oldBG; 
private Color _oldTPKey; 

private void MakeTransparent() { 
    _oldBG = BackColor; 
    _oldTPKey = TransparencyKey; 
    BackColor = Color.White; 
    TransparencyKey = Color.White; 
} 

private void MakeNonTransparent() { 
    BackColor = _oldBG; 
    TransparencyKey = _oldTPKey; 
} 
4

這是原始值:

this.TransparencyKey = Color.Empty; 

您可以設置一下,然後什麼都不會是透明的。

+1

這還不清楚。什麼是原始價值? – vgoff

+0

@vgoff:原始值是:_Color.Empty_ – Isti115

+0

嗯...那爲什麼要設置它?我的意思是,如果它是原始設置,那麼您不必再次設置它。只是好奇。我想你是說重置它,而不是設置它? – vgoff