gpt4 book ai didi

c# .NET - 标签页边距

转载 作者:太空宇宙 更新时间:2023-11-03 14:21:02 24 4
gpt4 key购买 nike

我有一个包含 3 个标签页的标签控件。我需要为第一个标签页添加左边距(因此将所有标签页向右移动 200px)。我该怎么做??

使用 Visual Studio 2008/c#

最佳答案

编辑 再次阅读我认为您更希望每个页面上的控件位于选项卡的右侧,而不是移动按钮。

正如 Hans 所建议的那样,面板是最简单的方法。但这并不漂亮。

    private void Form1_Load(object sender, EventArgs e)
{
// Create spacer tab with a name long enough to reach the 200px mark
TabPage spacer = new TabPage("..............................................................");
tabControl1.TabPages.Insert(0, spacer);

// Create a panel at the same location of the tab control.
Panel spacerBlock = new Panel();
spacerBlock.Name = "spacer";
spacerBlock.Location = tabControl1.Location;
spacerBlock.Width = 198;
spacerBlock.Height = 20;

this.Controls.Add(spacerBlock);

spacerBlock.BringToFront();
}

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
// Ensure the user can't use the keyboard to somehow select the spacer tab.
if (tabControl1.SelectedIndex == 0)
tabControl1.SelectedIndex = 1;

// Check if the second (first I guess) tab is selected and adjust the panel to keep the look consistant.
if (tabControl1.SelectedIndex == 1)
this.Controls["spacer"].Width = 198;
else
this.Controls["spacer"].Width = 200;
}

您需要确保用户无法通过键盘快捷键选择该选项卡,从而检查索引更改。

另请注意,如果由于 3d GUI 效果而选择了第二个(在您的情况下是第一个)选项卡,则必须调整面板的宽度。

老实说,考虑到最终用户的外观设置以确保间隔标签的文本和面板宽度的长度正确并不能真正弥补恕我直言的花哨外观。

我能想到的唯一其他选择是高度为 16 像素的选项卡面板。同样,这必须根据最终用户的外观设置进行调整,更不用说让它全部正常工作的额外开销了。

关于c# .NET - 标签页边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5399866/

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