大刀这个效果需要有2部:
第一步:设置Alignment=left
设置DrowMode=OwnerDrawFixed
设置ItemSize=30,100
设置SizeMode=Fixed
第二部:重绘,实现tabcontrol控件的tabControl1_DrawItem事件,如下所示
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
string text=((TabControl)sender).TabPages[e.Index].Text;
SolidBrush brush=new SolidBrush(Color.Black);
StringFormat sf = new StringFormat(StringFormatFlags.DirectionRightToLeft);
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Center;
e.Graphics.DrawString(text, SystemInformation.MenuFont,brush, e.Bounds, sf);
}
我只写了个简单的例子,仅供参考,如果需要更炫的效果,需要更复杂的重绘,请百度查资料,望采纳!
效果如图:
另外,还有一种方法去实现,我们可以隐藏选项卡,在保持以上设置的前提下,
设置ItemSize=1,1 ,就可以隐藏选项卡了,然后添加一个listbox,在listbox的SelectedIndexChanged事件中填入
tabControl1.SelectedIndex = listBox2.SelectedIndex;
,效果和你提问的图片一模一样。
如图:
这是ListBox而已。