在C#中如何实现点击左边treeview的节点,右边显示相应的界面?

刘有范er 2014-11-23 10:52:13
在母版页中,左侧加了treeview,右侧加了一个panel,在应用母版页的页面中,想要实现点击左侧节点,只改变右侧panel的内容,也就是显示相对应的网页,该如何实现?本人菜鸟一枚,如果不用panel用别的方法也可以,求大神赐教!最好有代码~
...全文
2956 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
颜回青 2018-06-05
  • 打赏
  • 举报
回复
很简单啊,注册一个NodeMouseDoubleClick事件: 给出主要代码: tabPage1.Text = e.Node.Text; pictureBox1.Image = Image.FromFile(i); 显示节点对应的图片,写在注册事件中就行。
陈大仙Summer 2015-09-18
  • 打赏
  • 举报
回复
这帖子还没完结,楼主找到方法了么
hwyqy 2015-09-18
  • 打赏
  • 举报
回复
1、frameset、iframe而不是panel 2、ajax
hhj_2679464683 2014-11-24
  • 打赏
  • 举报
回复
在C#中实现点击左边TreeView的节点,右边显示相应的界面示例 private void Form1_Load(object sender, EventArgs e) { TreeNode CountNode = new TreeNode("我的电脑");//初始化TreeView控件添加总结点 TreeViewFile.Nodes.Add(CountNode); ListViewShow(CountNode); //初始化ListView控件 } private void ListViewShow(TreeNode NodeDir)//初始化ListView控件,把TrreView控件中的数据添加进来 { ListViewFile.Clear(); if (NodeDir.Parent == null)// 如果当前TreeView的父结点为空,就把我的电脑下的分区名称添加进来 { foreach (string DrvName in Directory.GetLogicalDrives())//获得硬盘分区名 { ListViewItem ItemList = new ListViewItem(DrvName); ListViewFile.Items.Add(ItemList);//添加进来 } }//codego.net/tags/1/1/ else//如果当前TreeView的父结点不为空,把点击的结点,做为一个目录文件的总结点 { foreach (string DirName in Directory.GetDirectories((string)NodeDir.Tag))//编历当前分区或文件夹所有目录 { ListViewItem ItemList = new ListViewItem(DirName); ListViewFile.Items.Add(ItemList); } foreach (string FileName in Directory.GetFiles((string)NodeDir.Tag))//编历当前分区或文件夹所有目录的文件 { ListViewItem ItemList = new ListViewItem(FileName); ListViewFile.Items.Add(ItemList); } } } private void ListViewShow(string DirFileName)//获取当有文件夹内的文件和目录 { ListViewFile.Clear();//清空控件内容 foreach (string DirName in Directory.GetDirectories(DirFileName)) { ListViewItem ItemList = //创建控件项 new ListViewItem(DirName); ListViewFile.Items.Add(ItemList);//向控件添加项 } foreach (string FileName in Directory.GetFiles(DirFileName)) { ListViewItem ItemList = //创建控件项 new ListViewItem(FileName); ListViewFile.Items.Add(ItemList);//向控件添加项 } } private void TreeViewShow(TreeNode NodeDir)//初始化TreeView控件 { if (NodeDir.Nodes.Count == 0)//判断节点数量是否为0 { if (NodeDir.Parent == null)//如果结点为空显示硬盘分区 { foreach (string DrvName in Directory.GetLogicalDrives()) { TreeNode aNode = new TreeNode(DrvName);//创建节点对象 aNode.Tag = DrvName;//向控件中添加数据 NodeDir.Nodes.Add(aNode);//添加节点 } } else// 不为空,显示分区下文件夹 { foreach (string DirName in Directory.GetDirectories((string)NodeDir.Tag)) { TreeNode aNode = new TreeNode(DirName);//创建节点对象 aNode.Tag = DirName;//向控件中添加数据 NodeDir.Nodes.Add(aNode);//添加节点 } } } } private void TreeViewFile_AfterSelect(object sender, TreeViewEventArgs e) { ListViewShow(e.Node);//初始化ListView控件 TreeViewShow(e.Node);//初始化TreeView控件 } private void ListViewFile_DoubleClick(object sender, EventArgs e) { foreach (int ListIndex in ListViewFile.SelectedIndices) { ListViewShow(//获取文件和目录 ListViewFile.Items[ListIndex].Text); } }
於黾 2014-11-24
  • 打赏
  • 举报
回复
窗体或用户控件都可以
於黾 2014-11-24
  • 打赏
  • 举报
回复
可以用MDI子窗体,然后把相应子窗体加载在panel里 否则你一个窗口panel过多,会变得很混乱
EdsionWang 2014-11-24
  • 打赏
  • 举报
回复
web的话,直接把连接给到treeview的节点就可以了
「已注销」 2014-11-24
  • 打赏
  • 举报
回复
点击某个节点就直接跳到某个页面就行啦,万一panel多了就会混乱的; 一定要用panel的话就给节点写事件,客户端事件也好,服务器事件也可。
threenewbee 2014-11-23
  • 打赏
  • 举报
回复
http://www.cnblogs.com/qiaojun/articles/1428224.html

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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