日期:2014-05-18  浏览次数:20992 次

初学。关于多个Panel重叠后如何操作
现在做一个界面程序。左边用treeView进行选择。右边通过选择显示不同的panel。
问题:
(1) 这样做好不好? 我是利用panel实现这样的功能。
(2) panel能不能命名为数组? 命名为p[1] p[2] 类似??
(3) 假如有10多个选择,如何最好的实现不同panel的切换显示???

非常感谢各位大神!

------解决方案--------------------
空间名字.BringToFont(); 将控件置顶显示


或者你用数组来保存也可以估计 你的10个panel已经创建好了那你可以
list<panel> panelList = new list<panel>();
for (int i = 0;i < 10;i++){
string tempName = "panel" + i.toString();
panelList.Add(Controls[tempName]);//如果你的空间名 不是这样的就不要这样添加了
}
然后再写一个方法来显示那个panel
public void ShowPanel(int index){
for(int i = 0;i < panelList.Count;i++){
if(i == index){
panelList[i].visable = true;
}else{
panelList[i].visable = false;
}
}
}

不知道 你想要的是不是这个意思、、、那个 第二个 是我刚才 临时瞎编出来的 因为你说要用 数组 我有用list容器 来瞎糊弄了一个、、我自己都感觉扯蛋、、、、

我觉得还是用那个控件置顶把 你把 所有的panel叠在一起 要 想要那个出现的时候 就让他置顶显示就是了
(如果 我搞错了你的意思 那就当我 打酱油路过的吧、、)
------解决方案--------------------
show/hide操作
------解决方案--------------------
(1) 这样做好不好? 我是利用panel实现这样的功能。
不好,不好维护


(2) panel能不能命名为数组? 命名为p[1] p[2] 类似??
可以定义为数组

(3) 假如有10多个选择,如何最好的实现不同panel的切换显示???
去网上找一个tab控件比较好
------解决方案--------------------
我觉得很不好,用panel的话,尤其是多个,维护起来很麻烦,修改一个功能,你得一个个翻找所有的panel,为什么不做成窗体呢,yes
------解决方案--------------------

选项卡显示啊。panel就放在集合中,显示隐藏了,麻烦!
------解决方案--------------------
探讨
请问各位! 如果用窗体是什么意思?? 每个功能打开一个winform?? 但是我希望所有功能在一个窗体中打开?
tab控件是横向的结构。我不喜欢这样的界面。。

求较好的解决方案。

------解决方案--------------------
探讨
请问各位! 如果用窗体是什么意思?? 每个功能打开一个winform?? 但是我希望所有功能在一个窗体中打开?
tab控件是横向的结构。我不喜欢这样的界面。。

求较好的解决方案。

------解决方案--------------------
我觉得好不好要看具体需求。至少你说的treeview+panel是一种方法。如果tree的叶子不太多,我觉得是可以的
------解决方案--------------------
你应该用wpf..拖拖鼠标这功能就成了.
又省力又高效.什么显示隐藏的最不科学了.
界面不用变.用绑定.然后替换数据就可以了.