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