Q
垂直导航栏?
0
A
回答
0
假设WPF,只是扑通菜单那比其更广泛和添加菜单项
+0
我正在使用WinForms,现在是WPF。 – user3818701 2014-09-04 02:17:09
+0
然后使用像p.s.w.g这样的垂直标签。说过 – Steve 2014-09-04 02:21:24
1
可以创造自定义用户控件,从标签控件继承高。
对于Windows窗体,请按照下列步骤:
- 右键单击项目 - >添加新项 - >用户控制(C#)
- 从TabControl的继承和写下面的代码在默认构造 3覆盖的OnPaint方法手工设计选项卡控制
- 将它保存
- 将它添加到您的窗体从工具箱。
- 设置Dock属性为Fill和取向性,以左侧Control的
- 添加更多标签
希望这有助于!
class CustomControl : TabControl
{
public CustomControl()
{
SetStyle(ControlStyles.AllPaintingInWmPaint , true);
SetStyle(ControlStyles.OptimizedDoubleBuffer , true);
SetStyle(ControlStyles.ResizeRedraw, true);
SetStyle(ControlStyles.UserPaint, true);
DoubleBuffered = true;
SizeMode = TabSizeMode.Fixed;
ItemSize = new System.Drawing.Size(30, 120);
}
protected override void OnPaint(PaintEventArgs e)
{
var B = new Bitmap(Width, Height);
var G = (Graphics)Graphics.FromImage(B);
G.Clear(Color.Gainsboro);
for (int i = 0; i < TabCount -1; i++)
{
var TabRectangle = (Rectangle)GetTabRect(i);
if (i == SelectedIndex)
{
G.FillRectangle(Brushes.Navy, TabRectangle);
}
else
{
G.FillRectangle(Brushes.BlueViolet, TabRectangle);
}
G.DrawString(TabPages[i].Text, Font, Brushes.White, TabRectangle, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
TabPages[i].Font = new Font(TabPages[i].Font, FontStyle.Strikeout);
}
e.Graphics.DrawImage((Image)B.Clone(),0,0);
G.Dispose();
B.Dispose();
base.OnPaint(e);
}
编码快乐!
相关问题
- 1. 垂直导航栏
- 2. 主导航栏和垂直导航栏?
- 3. CSS垂直导航栏
- 4. 垂直居中导航栏
- 5. 居中导航栏 - 垂直
- 6. Bootstrap 3垂直导航栏
- 7. 引导3垂直导航栏
- 8. Bootstrap导航栏垂直不水平
- 9. 垂直中心导航栏视图
- 10. bootstrap导航栏可垂直展开
- 11. 垂直菜单/导航栏布局
- 12. 更改垂直分隔线导航栏
- 13. 如何垂直对齐此导航栏?
- 14. 导航栏水平+垂直居中
- 15. 如何垂直对齐此导航栏?
- 16. 垂直导航栏身高问题
- 17. 垂直对齐徽标和导航栏?
- 18. bootstrap导航栏中心垂直水平?
- 19. 垂直对齐文本在导航栏
- 20. 如何做这个垂直导航栏?
- 21. 垂直导航栏和右侧数据
- 22. OnClick垂直导航
- 23. 垂直Megamenu导航引导
- 24. 使用flexbox在导航栏内垂直定位导航栏药片
- 25. 水平滚动垂直导航栏 - 滚动时导航栏下的内容
- 26. 垂直导航栏/侧边栏对齐元素为中心
- 27. Bootstrap中的垂直导航
- 28. CSS导航垂直对齐
- 29. 垂直导航填充
- 30. 垂直水平导航
看起来像垂直标签。 WinForms或WPF? – 2014-09-04 02:04:20
我已经编辑好标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 – 2014-09-04 02:04:35
我正在使用WinForms。 – user3818701 2014-09-04 02:16:45