今天使用了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;
}
擷取其父類:
換膚後的效果: