C#中 winform程序 怎么制作纵向选项卡
展开全部
this.treeView1.Nodes.Add(root); //设置DrawMode 为 OwnerDrawFixed 可以再可视化编辑里设置
this.tabControl1.DrawMode = System.Windows.Forms.TabDrawMode.OwnerDrawFixed; //设置Alignment 为 Left/Right 可以再可视化编辑里设置
this.tabControl1.Alignment = System.Windows.Forms.TabAlignment.Left; 将tabcontrol的drawitem 重写 交给自己写的DrawItem方法
this.tabControl1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.tabControl1_DrawItem); }
private void tabControl1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e){StringFormat sf = new StringFormat(); // 设置文字是居中的
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Center;
//画出选项卡文字 e.Graphics.DrawString(((TabControl)sender).TabPages[e.Index].Text,
System.Windows.Forms.SystemInformation.MenuFont,
new SolidBrush(Color.Black),
sf);} 追问: 谢谢,很牛很强大。alignment 设置成left或right显示倒能显示文字,但是文字也变成纵向显示的了 - - 由于是新手,你给的drawrtem代码不大看得懂,在研究在,一哈看看其他答案后再给分你。 回答: 你用按钮和PANEL组合吧就像你发的那两张图的效果一样不过PANEL和BUTTON 不能和你图中的那样融合在一起你可以弄一个小的PANEL 阻挡在那条线上在点了第几个按钮 那第几个小PANEL和大PANEL一起显示 其他隐藏并且那个点击的按钮变大 字体变大感觉和你的效果一样虽然和真正的选项卡有很大区别 但和你想要的效果差不多 更容易达到 你用TABCONTROL要做成这样 你需要花很大功夫去重绘 很麻烦尛熋.幹餅` 的感言: 很是感谢!虽然想过用pannel,但没你想得这么透彻,牛!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询