gpt4 book ai didi

user-interface - TabControl透明背景

转载 作者:行者123 更新时间:2023-12-04 04:31:57 24 4
gpt4 key购买 nike

我想知道是否有某种方法可以将 TabControl 的背景渲染为透明(TabControl,而不是 TabPages),而不是采用父窗体背景颜色。我有一些带有自定义绘画的表单,我在其中绘制渐变作为背景,但该渐变不会在选项卡控件后面绘制。我尝试设置 TabControl.Backcolor = Color.Transparent 但它告诉我它不受支持。我使用的是VS2005和框架2.0。(设置样式没有帮助)有人有解决这个问题的好方法吗?

最佳答案

自定义选项卡控制:

[DllImport("uxtheme", ExactSpelling = true)]
public extern static Int32 DrawThemeParentBackground(IntPtr hWnd, IntPtr hdc, ref Rectangle pRect);

protected override void OnPaintBackground(PaintEventArgs e)
{
if (this.BackColor == Color.Transparent)
{
IntPtr hdc = e.Graphics.GetHdc();
Rectangle rec = new Rectangle(e.ClipRectangle.Left,
e.ClipRectangle.Top, e.ClipRectangle.Width, e.ClipRectangle.Height);
DrawThemeParentBackground(this.Handle, hdc, ref rec);
e.Graphics.ReleaseHdc(hdc);
}
else
{
base.OnPaintBackground(e);
}
}

关于user-interface - TabControl透明背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1385008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com