欢迎来到天天文库
浏览记录
ID:14103927
大小:89.50 KB
页数:5页
时间:2018-07-26
《winform折叠菜单实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Winform折叠菜单实现在我还没工作前,听朋友说起他面试时遇到的情况,当时面试他的考官要他用C#实现折叠菜单效果,不用第三方控件,对于当时准备不充分的他可谓是来了个措手不及呀!回来后告诉了我们,抱着试试的心里,尝试实现一番,呵呵,没想到还是让我实现了!现在翻出当时实现的代码供初学者学习,高手免了。这个示例用四个button、四个label和一个panel来实现。下面是截图:准备开始阶段,四个button、四个label和一个panel,调整好它们之间的位置:运行后的截图:图一图二图三图四实现代码:Form1.csusingSystem;usingSystem.Collections
2、.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsApplication1{ publicpartialclassForm1:Form { publicForm1() { InitializeComponent(); } Listlist=newList();
3、 privatevoidbutton1_Click(objectsender,EventArgse) { this.label1.Visible=true; this.label2.Visible=false; this.label3.Visible=false; this.label4.Visible=false; ChangeLocation(this.button1); } privatevoidbutton2_Click(objectse
4、nder,EventArgse) { this.label1.Visible=false; this.label2.Visible=true; this.label3.Visible=false; this.label4.Visible=false; ChangeLocation(this.button2); } /// ///改变按钮位置 /// ///5、"btn"> privatevoidChangeLocation(Buttonbtn) { intnum1=int.Parse(btn.Name.Substring(6));//num1代表本按钮的名称序号 stringdirection=null;//定义一个方向变量 if(btn.Top>this.panel1.Top)//如果本按钮的纵坐标大于面板的纵坐标 { direction="up";//设置方向变量的值为“up”即代表菜单向6、上翻 } elseif(btn.Top+btn.Height7、本按钮的纵坐标等于本折叠菜单的第一个按钮的纵坐标加上在本按钮之上的几个按钮的高度之和 this.panel1.Top=btn.Top+btn.Height;//面板的纵坐标等于本按钮的纵坐标加上本按钮的高度 intcount=1;//定义计数变量计算在本按钮之上或之下的按钮有多少个 //循环遍历菜单按钮集合 foreach(Buttonbtinl
5、"btn"> privatevoidChangeLocation(Buttonbtn) { intnum1=int.Parse(btn.Name.Substring(6));//num1代表本按钮的名称序号 stringdirection=null;//定义一个方向变量 if(btn.Top>this.panel1.Top)//如果本按钮的纵坐标大于面板的纵坐标 { direction="up";//设置方向变量的值为“up”即代表菜单向
6、上翻 } elseif(btn.Top+btn.Height7、本按钮的纵坐标等于本折叠菜单的第一个按钮的纵坐标加上在本按钮之上的几个按钮的高度之和 this.panel1.Top=btn.Top+btn.Height;//面板的纵坐标等于本按钮的纵坐标加上本按钮的高度 intcount=1;//定义计数变量计算在本按钮之上或之下的按钮有多少个 //循环遍历菜单按钮集合 foreach(Buttonbtinl
7、本按钮的纵坐标等于本折叠菜单的第一个按钮的纵坐标加上在本按钮之上的几个按钮的高度之和 this.panel1.Top=btn.Top+btn.Height;//面板的纵坐标等于本按钮的纵坐标加上本按钮的高度 intcount=1;//定义计数变量计算在本按钮之上或之下的按钮有多少个 //循环遍历菜单按钮集合 foreach(Buttonbtinl
此文档下载收益归作者所有