VB.Net,TabStrip控件,
选项卡左对齐或右对齐,顶部或底部
我需要从我自己的位置开始选项卡在选项卡控件的顶部
与Internet Explorer一样,选项卡在HTTP地址框之后开始,但它将覆盖整页并且左侧对齐= 0.
答案 0 :(得分:0)
显示右对齐标签
在表单中添加 TabControl 。
将对齐属性设置为正确。
将 SizeMode 属性设置为 Fixed ,以便所有标签的宽度相同。
将 ItemSize 属性设置为选项卡的首选固定大小。请记住, ItemSize 属性的行为就像标签位于顶部一样,尽管它们是右对齐的。因此,为了使标签更宽,您必须更改高度属性,并且为了使它们更高,您必须更改宽度属性。
在下面的代码示例中,宽度设置为25,高度设置为150.
将 DrawMode 属性设置为 OwnerDrawFixed 。
为 TabControl 的DrawItem事件定义处理程序,从左到右呈现文本。
C#
public Form1()
{
// Remove this call if you do not program using Visual Studio.
InitializeComponent();
tabControl1.DrawItem += new DrawItemEventHandler(tabControl1_DrawItem);
}
private void tabControl1_DrawItem(Object sender, System.Windows.Forms.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.Red);
g.FillRectangle(Brushes.Gray, e.Bounds);
}
else
{
_textBrush = new System.Drawing.SolidBrush(e.ForeColor);
e.DrawBackground();
}
// Use our own font.
Font _tabFont = new Font("Arial", (float)10.0, FontStyle.Bold, GraphicsUnit.Pixel);
// Draw string. Center the text.
StringFormat _stringFlags = new StringFormat();
_stringFlags.Alignment = StringAlignment.Center;
_stringFlags.LineAlignment = StringAlignment.Center;
g.DrawString(_tabPage.Text, _tabFont, _textBrush, _tabBounds, new StringFormat(_stringFlags));