首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自定义绘制的控件不会在其后面呈现控件,即使它是透明的

自定义绘制的控件不会在其后面呈现控件,即使它是透明的
EN

Stack Overflow用户
提问于 2009-10-22 13:35:16
回答 1查看 790关注 0票数 0

我目前正在编写一个自定义设计的选项卡控件。我创建了自己的控件,而不是自己绘制的TabControl,因为我认为它会更快、更灵活。我的选项卡控件在VS2008选项卡控件之后设置自身样式;即,当选定某个选项卡时,该选项卡的一部分位于其他未选定选项卡的前面。

我的选项卡控件由一个包含所有TabButton对象的面板组成,这些对象本身就是实际的选项卡。我将TabButton设置为透明,如下所示:

代码语言:javascript
复制
public TabButton()
{
     ...
     SetStyle(ControlStyles.SupportsTransparentBackColor | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
     UpdateStyles();
     this.BackColor = Color.Transparent;
}

然而,当该选项卡被选择并且在另一个选项卡之前时,未选择选项卡中本应出现在所选选项卡部分之后的部分不会被呈现。它是标准的SystemColors.Control颜色,用于填充选定按钮的剪裁矩形的其余部分。

如何在自定义控件中实现适当的透明度?

另外: TabButton继承了控件,这就是为什么我需要使用SetStyle才能使用透明度。

-Eric史密斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-22 13:58:05

看看这个:http://saftsack.fs.uni-bayreuth.de/~dun3/archives/creating-a-transparent-panel-in-net/108.html

上一次我使用.NET Windows Forms时,并不是很明显你需要做一些伪装的技巧来让透明度工作。我不确定他们是否在过去的三年里改变了它,但我确实记得做过这样的事情。我会试着先不画背景。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1605206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档