在C#Windows窗体的选项卡标题中添加关闭按钮

维维克·辛格(Vivek Singh)

我正在尝试在tabcontrol的选项卡面板上添加关闭按钮或“ X”,并且已经通过阅读此stackoverflow问题成功完成了此操作

问题是选项卡式页面标题和X符号合并在一起。我发现标签页标题面板没有根据标题文本调整大小。

这是代码:

//This code will render a "x" mark at the end of the Tab caption. 
e.Graphics.DrawString("X", e.Font, Brushes.Black, e.Bounds.Right + 15, e.Bounds.Top + 4);
e.Graphics.DrawString(this.tabControl1.TabPages[e.Index].Text, e.Font, Brushes.Black, e.Bounds.Left+5, e.Bounds.Top + 4);

e.DrawFocusRectangle();

结果是这里我更改了e.bounds.right值,但仍然无法正常工作。

黑蛙

确保将Tab控件DrawMode属性设置OwnerDrawFixed此属性决定是由系统还是由开发人员绘制字幕。

这是使用TabSizeMode = Fixed的代码示例,用于设置选项卡的大小:

public partial class Form1 : Form
{
    const int LEADING_SPACE = 12;
    const int CLOSE_SPACE = 15;
    const int CLOSE_AREA = 15;

    public Form1()
    {
        InitializeComponent();
    }

    private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
    {
        //This code will render a "x" mark at the end of the Tab caption. 
        e.Graphics.DrawString("x", e.Font, Brushes.Black, e.Bounds.Right - CLOSE_AREA, e.Bounds.Top + 4);
        e.Graphics.DrawString(this.tabControl1.TabPages[e.Index].Text, e.Font, Brushes.Black, e.Bounds.Left + LEADING_SPACE, e.Bounds.Top + 4);
        e.DrawFocusRectangle();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        // get the inital length
        int tabLength = tabControl1.ItemSize.Width;

        // measure the text in each tab and make adjustment to the size
        for (int i = 0; i < this.tabControl1.TabPages.Count; i++)
        {
            TabPage currentPage = tabControl1.TabPages[i];

            int currentTabLength = TextRenderer.MeasureText(currentPage.Text, tabControl1.Font).Width;
            // adjust the length for what text is written
            currentTabLength += LEADING_SPACE + CLOSE_SPACE + CLOSE_AREA;

            if (currentTabLength > tabLength)
            {
                tabLength = currentTabLength;
            }
        }

        // create the new size
        Size newTabSize = new Size(tabLength, tabControl1.ItemSize.Height);
        tabControl1.ItemSize = newTabSize;
    }
}

上面的示例代码的屏幕截图: 选项卡大小

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C#Windows窗体的选项卡标题中添加关闭按钮

来自分类Dev

根据StripMenu输入显示和隐藏某些选项卡(C#Windows窗体)

来自分类Dev

Windows窗体选项卡事件

来自分类Dev

Windows窗体选项卡事件

来自分类Dev

Access 中的 C# Windows 窗体 Com 互操作对象 - 选项卡或输入按钮不起作用

来自分类Dev

C#Windows窗体着色随机按钮

来自分类Dev

C#Windows窗体着色随机按钮

来自分类Dev

GNOME终端-选项卡标题中的进程名称

来自分类Dev

如何在C#Windows窗体中创建选项窗体?

来自分类Dev

在Windows窗体上,将选项卡焦点设置为按钮

来自分类Dev

在Windows窗体的选项卡控件中与多个页面共享按钮

来自分类Dev

在Windows窗体上,将选项卡焦点设置为按钮

来自分类Dev

将“关闭”按钮添加到引导选项卡内容

来自分类Dev

在选项卡控件C#中创建Windows窗体标签

来自分类Dev

C#Windows窗体应用程序关闭

来自分类Dev

按钮的动画发光效果-C#Windows窗体

来自分类Dev

按钮的动画发光效果-C#Windows窗体

来自分类Dev

Word-标题中有选项卡,但不要在目录中显示这些选项卡

来自分类Dev

QTabWidget:关闭选项卡按钮不起作用

来自分类Dev

Winforms的“选项卡”页面上的“关闭”按钮

来自分类Dev

Twitter Bootstrap3选项卡的关闭按钮

来自分类Dev

c#Windows窗体将pictureBoxes添加到数组

来自分类Dev

如何在引导选项卡中添加关闭图标?

来自分类Dev

将按钮添加到选项卡和选项卡区域JavaFX

来自分类Dev

创建选项卡并通过循环在每个选项卡中添加小部件+按钮

来自分类Dev

JVCL选项卡式对接:选项卡上没有关闭按钮

来自分类Dev

如何在Angular-Strap选项卡的标题中放置一个图标?

来自分类Dev

如何在Xamarin中将svg图像加载到选项卡标题中

来自分类Dev

无法获得两个选项卡以对齐为标题中的内联块元素

Related 相关文章

  1. 1

    在C#Windows窗体的选项卡标题中添加关闭按钮

  2. 2

    根据StripMenu输入显示和隐藏某些选项卡(C#Windows窗体)

  3. 3

    Windows窗体选项卡事件

  4. 4

    Windows窗体选项卡事件

  5. 5

    Access 中的 C# Windows 窗体 Com 互操作对象 - 选项卡或输入按钮不起作用

  6. 6

    C#Windows窗体着色随机按钮

  7. 7

    C#Windows窗体着色随机按钮

  8. 8

    GNOME终端-选项卡标题中的进程名称

  9. 9

    如何在C#Windows窗体中创建选项窗体?

  10. 10

    在Windows窗体上,将选项卡焦点设置为按钮

  11. 11

    在Windows窗体的选项卡控件中与多个页面共享按钮

  12. 12

    在Windows窗体上,将选项卡焦点设置为按钮

  13. 13

    将“关闭”按钮添加到引导选项卡内容

  14. 14

    在选项卡控件C#中创建Windows窗体标签

  15. 15

    C#Windows窗体应用程序关闭

  16. 16

    按钮的动画发光效果-C#Windows窗体

  17. 17

    按钮的动画发光效果-C#Windows窗体

  18. 18

    Word-标题中有选项卡,但不要在目录中显示这些选项卡

  19. 19

    QTabWidget:关闭选项卡按钮不起作用

  20. 20

    Winforms的“选项卡”页面上的“关闭”按钮

  21. 21

    Twitter Bootstrap3选项卡的关闭按钮

  22. 22

    c#Windows窗体将pictureBoxes添加到数组

  23. 23

    如何在引导选项卡中添加关闭图标?

  24. 24

    将按钮添加到选项卡和选项卡区域JavaFX

  25. 25

    创建选项卡并通过循环在每个选项卡中添加小部件+按钮

  26. 26

    JVCL选项卡式对接:选项卡上没有关闭按钮

  27. 27

    如何在Angular-Strap选项卡的标题中放置一个图标?

  28. 28

    如何在Xamarin中将svg图像加载到选项卡标题中

  29. 29

    无法获得两个选项卡以对齐为标题中的内联块元素

热门标签

归档