gpt4 book ai didi

c# - 更改 tabControl 的 Tab 大小

转载 作者:太空狗 更新时间:2023-10-29 19:52:21 26 4
gpt4 key购买 nike

我为 TabControl 重新绘制了 Tab 的图形,但我无法设置它的 Width

我想要的是 Tab 的文本和图标包含在它的大小中。

现在是这样的:

tabs are overlaid

我的代码

private void tabControlForm_DrawItem(object sender, DrawItemEventArgs e)
{

try
{
using (Brush br = new SolidBrush(TabColors[tabControlForm.TabPages[e.Index]]))
{
Rectangle rect = e.Bounds;

rect.Width += 10;

e.Graphics.FillRectangle(br, rect);
SizeF sz = e.Graphics.MeasureString(tabControlForm.TabPages[e.Index].Text, e.Font);
e.Graphics.DrawString(tabControlForm.TabPages[e.Index].Text, e.Font, Brushes.Black, rect.Left + (rect.Width - sz.Width) / 2, rect.Top + (rect.Height - sz.Height) / 2 + 1);

using (var src = new Bitmap(System.Reflection.Assembly.GetEntryAssembly().GetManifestResourceStream("Castor.Gestionale.images.close-button.png")))
{
e.Graphics.DrawImage(src, rect.Right - 18, rect.Top + 10);
}

e.Graphics.DrawRectangle(Pens.DarkGray, rect);
e.DrawFocusRectangle();
}
}
catch {}
}

谢谢

最佳答案

实际上您可以设置选项卡的大小,但不能单独设置。

SizeMode = FixedTabControl.Itemsize 的一些合适值的组合将创建任何大小,但始终相同..:

enter image description here

因此,要单独放大每个选项卡以使图标适合您确实需要使用 Ian 的“spacey”方法..

关于c# - 更改 tabControl 的 Tab 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35155475/

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