因为一个项目需要,使用ListView控件配合UserControl实现导航菜单列表,感觉效果还不错,分享大家。
效果如下:
步骤:
1、主界面添加SplitContainer控件;
2、主界面添加ImageList控件,并且添加图片;
3、添加Button和Listviewer控件;
4、添加UserControl控件,用于显示不同功能。
代码:
private void Form1_Load(object sender, EventArgs e)
{
//listview移除所有项和列。
ListViewFun.Clear();
//listview绑定ImageList控件
ListViewFun.LargeImageList = ImageList;
//大图标显示
ListViewFun.View = View.LargeIcon;
//listview默认显示项
ListViewFun.Items.Add("0", "Connection", 0);
//控件SplitContainer的Panel添加用户控件
SplitContainer.Panel2.Controls.Add(UserControl1);
}
private void Button1_Click(object sender, EventArgs e)
{
ListViewFun.Dock = DockStyle.None;
//设置按钮停靠位置
Button1.Dock = DockStyle.Top;
Button2.Dock = DockStyle.Bottom;
Button3.SendToBack();
Button3.Dock = DockStyle.Bottom;
//将控件带到 Z 顺序的前面。
ListViewFun.BringToFront();
ListViewFun.Dock = DockStyle.Bottom;
//listview显示项
ListViewFun.Clear();
ListViewFun.Items.Add("0", "User", 0);
//控件SplitContainer的Panel添加用户控件
SplitContainer.Panel2.Controls.Clear();
SplitContainer.Panel2.Controls.Add(UserControl1);
}
private void Button2_Click(object sender, EventArgs e)
{
ListViewFun.Dock = DockStyle.None;
//设置按钮停靠位置
Button2.Dock = DockStyle.Top;
Button1.SendToBack();
Button1.Dock = DockStyle.Top;
Button3.Dock = DockStyle.Bottom;
//控件的下边缘停靠到其包含控件的底部
ListViewFun.Dock = DockStyle.Bottom;
//listview显示项
ListViewFun.Clear();
ListViewFun.Items.Add("1", "Edit", 1);
ListViewFun.Items.Add("2", "Data", 2);
ListViewFun.Items.Add("3", "Delete", 3);
}
private void Button3_Click(object sender, EventArgs e)
{
ListViewFun.Dock = DockStyle.None;
//设置按钮停靠位置
Button3.SendToBack();
Button3.Dock = DockStyle.Top;
Button2.SendToBack();
Button2.Dock = DockStyle.Top;
Button1.SendToBack();
Button1.Dock = DockStyle.Top;
//控件的下边缘停靠到其包含控件的底部
ListViewFun.Dock = DockStyle.Bottom;
//listview显示项
ListViewFun.Clear();
ListViewFun.Items.Add("4", "Set", 4);
}
private void ListViewFun_Click(object sender, EventArgs e)
{
string selectItem = ListViewFun.SelectedItems[0].SubItems[0].Text;
//设置listview按钮点击事件,控件SplitContainer的Panel添加用户控件
switch (selectItem)
{
case "User":
SplitContainer.Panel2.Controls.Clear();
SplitContainer.Panel2.Controls.Add(UserControl1);
break;
case "Edit":
SplitContainer.Panel2.Controls.Clear();
SplitContainer.Panel2.Controls.Add(UserControl2);
break;
case "Data":
SplitContainer.Panel2.Controls.Clear();
SplitContainer.Panel2.Controls.Add(UserControl3);
break;
case "Delete":
SplitContainer.Panel2.Controls.Clear();
SplitContainer.Panel2.Controls.Add(UserControl4);
break;
case "Set":
SplitContainer.Panel2.Controls.Clear();
SplitContainer.Panel2.Controls.Add(UserControl5);
break;
default:
break;
}
}
代码下载地址:
https://download.csdn.net/download/wangzhichunnihao/13757418