关于C#折叠式的导航菜单?

请问各位高人:如何利用c#在winform程序中实现一个类似.net 2003 开发界面中左侧的"工具箱".
使用.net开发程序的朋友,当你要利用工具箱为窗体添加控件时就会看到我说的这个折叠式的导航菜单.

或者谁有C#折叠式的导航菜单例子程序提供..........

我在网上找了很久,没有一个例子是行得通的````如果你们谁有,可以发到我的邮箱software_zjw@126.com

““程序能运行畅通的””,马上给分

第1个回答  2008-06-06
我刚做过~其实就是一堆button 当你点折叠个button时 将无关的button隐藏 现实相关的 button
我的代码如下
private void button1_Click(object sender, EventArgs e)
{

this.button1.Top = this.panel1.Top-50;
this.button2.Top = this.panel1.Top + this.panel1.Height - this.button2.Height- this.button3.Height-50;
this.button3.Top = this.panel1.Top + this.panel1.Height - this.button2.Height-50;
this.button4.Visible = true;
this.button5.Visible = true;
this.button6.Visible = true;
this.button7.Visible = true;
this.button13.Visible = false;
this.button14.Visible = false;
this.button15.Visible = false;
this.button12.Visible = false;
this.button8.Visible = false;
this.button9.Visible = false;
this.button10.Visible = false;
this.button11.Visible = false;

}

private void button2_Click(object sender, EventArgs e)
{
this.button1.Top = this.panel1.Top-50;
this.button2.Top = this.panel1.Top + this.button1.Height-50;
this.button3.Top = this.panel1.Top + this.panel1.Height - this.button3.Height-50;
this.button8.Visible = true;
this.button9.Visible = true;
this.button10.Visible = true;
this.button11.Visible = true;
this.button4.Visible = false;
this.button5.Visible = false;
this.button6.Visible = false;
this.button7.Visible = false;
this.button13.Visible = false;
this.button14.Visible = false;
this.button15.Visible = false;
this.button12.Visible = false;

}

private void button3_Click(object sender, EventArgs e)
{
this.button1.Top = this.panel1.Top-50;
this.button2.Top = this.panel1.Top+ this.button1.Height-50;
this.button3.Top = this.panel1.Height + this.panel1.Top-this.button3.Height-50;
this.button13.Visible = true;
this.button14.Visible = true;
this.button15.Visible = true;
this.button12.Visible = true;
this.button8.Visible = false;
this.button9.Visible = false;
this.button10.Visible = false;
this.button11.Visible = false;
this.button4.Visible = false;
this.button5.Visible = false;
this.button6.Visible = false;
this.button7.Visible = false;

}
第2个回答  2008-06-06
1楼.......

winform里面有ajax???你教我....

楼主.这个不难.给你思路.你琢磨一下.很好做.

N个BUTTON.N个PANEL.
每个BUTTON对应一个PANEL.

在BUTTON事件里.让该BUTTON对应的PANEL的Visible=true;
其它的PANEL的Visible=false;
而将要显示的PANEL位置是根据该BUTTON的位置而定的.代码如下:
int top=this.button1.Top-this.button1.Height;
int left=this.button1.Left;
this.panel1.Top=top;
this.panel1.Left=left;
this.panel1.Visible=true;

剩下的BUTTON怎么做.不用我说了吧.

另外要注意的是.在显示PANEL的时候先去判断该PANEL当前的状态.如果已显示就不执行下面代码了.

当PANEL显示时.其下面的BUTTON位置也要变.代码:
this.button2.Top=this.button2.Top+this.panel1.Height;

还有就是关于滑动的效果.要不要都无所谓.如果非要滑动的话.用线程.每隔一小段时间.让PANEL和其它BUTTON的位置向算好的数据靠拢.

思路就是这样儿.不难.你自己写吧.别人做的.对你有什么提高么??
第3个回答  2008-06-12
我有好方法,用一个TreeView,然后添加项,注意,每个项都要是同级的。然后再做一些效果处理。
要不然就是n个按钮,点一下显示点一下隐藏这样来弄。。。
第4个回答  2008-06-06
用控件吧...DotNetMagic2005中有个控件 是可以做到的...
第5个回答  2008-06-06
最简单的方法,找第三方控件实现本回答被提问者采纳

关于C#折叠式的导航菜单?
N个BUTTON.N个PANEL.每个BUTTON对应一个PANEL.在BUTTON事件里.让该BUTTON对应的PANEL的Visible=true;其它的PANEL的Visible=false;而将要显示的PANEL位置是根据该BUTTON的位置而定的.代码如下:int top=this.button1.Top-this.button1.Height;int left=this.button1.Left;this.panel1.Top=top;this.panel1...

关于C#折叠式的导航菜单?
private void button1_Click(object sender, EventArgs e){ this.button1.Top = this.panel1.Top-50;this.button2.Top = this.panel1.Top + this.panel1.Height - this.button2.Height- this.button3.Height-50;this.button3.Top = this.panel1.Top + this.panel1.Height - this.button2....

C# 怎么实现折叠面板
用模板和JavaScript脚本函数就能够实现这个功能;左边的按钮区做成模板页,然后右边的做成不同的页面,并且都应用改模版。实现时: \/\/这里面就是系统检测的所有子菜单,就是系统信息总揽等这些按钮,他们的单击事件就是控 制右边显示不同的页面 \/\/show();是脚本里写的函数,用来控制层的显示和隐藏。

C#窗体应用中菜单怎么实现左边上下收缩这个效果... ... 求 高手支招...
1.多放几个按钮,如图,当点击系统清理时,最下面的那个系统设置显示,中间的那个系统设置不显示,同时显示第一个按钮想对应的内容。当点击最下面的那个系统设置时,下面的那个不显示,上面两个全部显示,同时显示第二个按钮想对应的内容,具体代码就是对应的按钮的VISIABLE属性为TURE 或者FALSE,就可以实现...

如何设置Visual Studio 2010的C#代码折叠?希望能自动在{ } 的语言块...
C#中的折叠是用代码实现的,用一个宏语句,#region #endregion,把你想要折叠的代码放到两个词中间就可以了。Ctrl+M+M是展开和合上折叠代码的快捷键。

C# 里面的 #region 是什么意思?
C#中,#region是一个非常实用的特性,它的主要作用是标记代码区域,便于管理和折叠。当你在Visual Studio中遇到长篇的代码时,#region可以帮助你将相关的代码块归类,通过点击#region后的+\/-按钮,可以轻松地隐藏或展开这部分代码,提高代码阅读的效率。它就像一个代码的折叠菜单,只需简单的操作,就能让...

C#中指定可展开或折叠的代码块的指令有哪些呢?
C#中指定可展开或折叠的代码块的指令有#region和#endregion。可以使用#region指令将一段代码标记为一个分段代码区域,然后使用#endregion指令结束该区域。这使得这一段代码可以在IDE中展开和折叠。if和#endif:可以使用条件编译指令来指定只有在特定的条件下才编译代码块。pragma:可以使用编译指示指令来指定...

c# 折叠菜单 类似于VS中左侧的工具箱那种 知道的求不吝解答,有类似源 ...
你可以用这个来实现,很简单,只需要下载一个ajax的dll之后,直接拖控件即可,控件名称是:Accordion:可折叠面板的集合(Accordion控件中可以包含若干个面板,让用户通过点击不同面板的标题栏一次只展开并显示其中的一个内容,就像将好多个CollapsiblePanel堆到了一起。)希望可以帮到你 ...

Java中有类似于C#中的#region和#endRegion这种折叠代码的东西吗?求指...
窗口 >>> 首选项 >>> java >>> 编辑器 >>> 折叠 但是没有C#中的#region和#endRegion这种折叠

C# 用什么控件可以实现下图的样子
XPanderPanelList 软件说明:跟XP系统左侧可折叠式菜单一样,可以折叠、展开,可以自己定义颜色,自己研究吧,非常有用的一个源码,样式和outlook左侧菜单差不多!我自己就在用,我用在erp项目里面,哈哈,很爽啊,大概步骤: 1.在你的解决方案里添加“现有项目”,找到BSE.Windows.Forms.cspro添加进去→...

相似回答
大家正在搜