winform树形菜单

sishenas 2016-02-15 04:00:32

我希望实现图片左侧的树形菜单,请问这个控件需要怎么实现呢?(忽视红色的圈圈)
...全文
559 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhharry 2016-02-20
  • 打赏
  • 举报
回复
厉害厉害..............
software_artisan 2016-02-20
  • 打赏
  • 举报
回复
3楼正解。。。
Justin-Liu 2016-02-16
  • 打赏
  • 举报
回复
样式的问题可以自己重新定义
FTD_Fred 2016-02-16
  • 打赏
  • 举报
回复
你需要把控件重绘一下,兄弟
crystal_lz 2016-02-15
  • 打赏
  • 举报
回复
自己重绘treeview 可以实现 或者自己百度一个 抽屉控件
下面代码仅供参考

private void Form3_Load(object sender, EventArgs e) {
treeView1.DrawMode = TreeViewDrawMode.OwnerDrawAll;
treeView1.ShowLines = false;//去掉虚线
}

private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e) {
Graphics g = e.Graphics;
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
if (e.Node.Parent == null) {//如果是顶级节点
g.FillRectangle(Brushes.SkyBlue, e.Bounds);//绘制边框
g.DrawRectangle(Pens.Blue, e.Bounds.Left, e.Bounds.Top, e.Bounds.Width - 1, e.Bounds.Height - 1);
//下面这个是绘制 原本+所在的位置
g.FillRectangle(Brushes.Red, e.Node.Bounds.Left - 14, e.Node.Bounds.Top + 4, 9, 9);
//绘制文字
g.DrawString(e.Node.Text, treeView1.Font, Brushes.Red, e.Bounds, sf);
//e.DrawDefault = true;
} else e.DrawDefault = true;
}


如果你觉得效果还不错 那你可以继续完善上面的代码 上我只是做了一个demo所以纯色填充 你可以绘制的好看一点
zbdzjx 2016-02-15
  • 打赏
  • 举报
回复
dev的navBarControl
sishenas 2016-02-15
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
dev的组件中好像就有,C1中好像也有
你好,dev中的是treeList,C1中的是TreeView,但是样式跟图片里的相差比较大。
bdmh 2016-02-15
  • 打赏
  • 举报
回复
dev的组件中好像就有,C1中好像也有

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧