2011-09-01 93 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