当前位置:编程学习 > C#/ASP.NET >>

C#中 winform程序 怎么制作纵向选项卡

C# 中 winform程序 怎么制作纵向选项卡?好像要用到第三方控件,可是没找到 - -

追问:谢谢,很牛很强大。

alignment 设置成left或right显示倒能显示文字,但是文字也变成纵向显示的了 - -

由于是新手,你给的drawrtem代码不大看得懂,在研究在,一哈看看其他答案后再给分你。

答案:C# WINFORM  的TabControl 本身就可以纵向

你将TabControl 的Alignment 改成Left 或者 Right 就可以了 左右两侧的纵向选项卡

改成left/right后选项卡的文字是显示不出来的

需要自己重写以下drawitem方法

private void Form1_Load(object sender, EventArgs e)
{
TreeNode root = new TreeNode("我的电脑");
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),
e.Bounds,
sf);
}

http://msdn.microsoft.com/zh-cn/library/ms404305.aspx msdn上解释的很清楚~

要把选项卡的大小也调整的 DrawItem 应该是最合适的

第三方控件 或者自己写控件 c#的我没有见过 不过肯定可以自己写的

你找哈选项卡的属性。有设置为纵向的。具体那个我忘记了。

  vs里面自带的控件么法实现,你可以借用隐藏和显示来实现你想要的效果

上一个:c#如何实现类似qq一样的窗口震动?
下一个:C#中,索引器的作用和用法

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,