winform里面的tabpage如何进行赋值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform里面的tabpage如何进行赋值?相关的知识,希望对你有一定的参考价值。

我要用2个tabpage来显示两个表里面的数据

参考技术A FrmMain frmMain = new FrmMain();
TabPage mainTab = new TabPage();
mainTab.Text = "监控信息";
mainTab.Name = "page1";
frmMain.Name = "监控信息";
frmMain.TopLevel = false;

mainTab.Controls.Add(frmMain);
frmMain.Show();
tabControl1.TabPages.Add(mainTab);
frmMain.Size = mainTab.Size;

tabControl1.SelectedTab = mainTab;

按着这个来就好了,我是把一个form放进tabpage里,你只需要放gridview就好了本回答被提问者和网友采纳

如何使 TabPage 的标题文本加粗?

【中文标题】如何使 TabPage 的标题文本加粗?【英文标题】:How do I make a TabPage's title text bold? 【发布时间】:2011-01-20 13:11:18 【问题描述】:

我在 C# Windows 应用程序中有一些 tabControl。它有一些标签页。有谁知道如何使 tabPage 文本变为粗体..?

【问题讨论】:

你想加粗什么?标签标题,还是标签页的内容? Winform。我想把标签标题加粗。 见这里:***.com/questions/180563/bold-text-for-a-tab-control 【参考方案1】:

只需编写如下的主 TabControl 代码:

 TabControl0_1=New TabControl

 TabControl0_1.Size = New System.Drawing.Size(1900,980)

 TabControl0_1.Location=New System.Drawing.Point(5,5)

 TabControl0_1.Font = New System.Drawing.Font("Segoe UI",25!, _
                       System.Drawing.FontStyle.Bold, System.Drawing. _
                       GraphicsUnit.Point,CType(0, Byte))

这可以解决所有问题。共有 114 个标签页。

【讨论】:

【参考方案2】:

另一个不太优雅的选项是将父窗体/控件的 font->bold 属性设置为 true,这将使包括选项卡名称在内的所有内容变为粗体,然后在所有不需要的控件上将粗体设置为 false大胆的。

【讨论】:

【参考方案3】:

您需要处理TabControlDrawItem 事件才能手动绘制标题。注意:受影响控件的DrawMode应设置为TabDrawMode.OwnerDrawFixed

这是一个示例:

private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)


    Graphics g = e.Graphics;
    Brush _TextBrush;

    // Get the item from the collection.
    TabPage _TabPage = tabControl1.TabPages[e.Index];

    // Get the real bounds for the tab rectangle.
    Rectangle _TabBounds = tabControl1.GetTabRect(e.Index);

    if (e.State == DrawItemState.Selected)
    
        // Draw a different background color, and don't paint a focus rectangle.
        _TextBrush = new SolidBrush(Color.Blue);
        g.FillRectangle(Brushes.Gray, e.Bounds);
    
    else
    
        _TextBrush = new System.Drawing.SolidBrush(e.ForeColor);
       // e.DrawBackground();
    

    // Use our own font. Because we CAN.
    Font _TabFont = new Font(e.Font.FontFamily, (float)9, FontStyle.Bold, GraphicsUnit.Pixel);
    //Font fnt = new Font(e.Font.FontFamily, (float)7.5, FontStyle.Bold);

    // Draw string. Center the text.
    StringFormat _StringFlags = new StringFormat();
    _StringFlags.Alignment = StringAlignment.Center;
    _StringFlags.LineAlignment = StringAlignment.Center;
    g.DrawString(tabControl1.TabPages[e.Index].Text, _TabFont, _TextBrush,
                 _TabBounds, new StringFormat(_StringFlags));


【讨论】:

只是补充一点:受影响控件的DrawMode 应设置为TabDrawMode.OwnerDrawFixed,这使得必须使用DrawItem-event(如果您将此方法的代码留空,则选项卡' 标题栏也将是空白的)【参考方案4】:

在 Winforms 中,您可以更改 DrawMode 并在自己身上绘制所有标题。

请参阅MSDN Example。

【讨论】:

以上是关于winform里面的tabpage如何进行赋值?的主要内容,如果未能解决你的问题,请参考以下文章

winform如何让动态创建的tabPage优先显示

winform的tabpage控件如何在顶部的标签上设置文字颜色、添加小图标?

请教C# WinForm编程高手,如何解决多界面耗时操作界面僵死的问题

C# winform- 选择卡问题 : 想要通过单击Tabpage A 中的按钮实现 转换到Tabpage B 中,请问如何实现?

Winform中选项卡问题 me是初学者,想问一下如何点击按钮,实现Tabpage A和Tabpage B之间的转换?

C# Winforms:没有 AutoScroll 的滚动条