对不起这个问题,但我一直在谷歌搜索“C#垂直菜单栏”一段时间,我找不到一个看起来像这样的东西:
不,我没有制作一个调查柜,但这是我能找到的唯一一个我想要的图像。
有人能告诉我怎么做吗?
答案 0 :(得分:2)
您可以创建从Tab控件继承的自定义用户控件。
对于Windows窗体,请按照以下步骤操作:
希望这有帮助!
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 :(得分:0)
假设WPF,只需要一个高于其宽度的菜单并添加菜单项