今天使用了DevExpress的labelControl,发现拖放上去,其背景色和主窗体的背景一样,非常不谐调,把BackColor设置为透明也不行(Windows中的Label可以)。
没有办法,我用颜色拾取器,拾取到上方面板颜色是RGB(80,80,80),于是将labelControl背景色改为RGB(80,80,80)颜色就统一了。但还是有问题,用户想换个皮肤,又出现了不一致。最后百度上好久发现了原因,找到了解决方案。
我想把背景设置为透明(TransParent),TransParent可拆分了Trans+Parent,即转向父类。直接把labelControl拖放上去,默认父类是Form,而不是tileNavPane,于是把labelControl背景色设置为TransParent,父类设置为tileNavPane即可。代码如下:
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show(this.labelControl1.Parent.Name);
this.labelControl1.BackColor = Color.Transparent;
this.labelControl1.Parent = this.tileNavPane1;
}
获取其父类:
换肤后的效果: