如何在winform中如何实现左侧导航,里面上下折叠的效果 大家好,刚接触WINFORM 想请教大家如何实现类似于WEB 中的 左侧展开与隐藏,上下折叠的效果。很急,希望大家帮帮我! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第三方组件,比如DotNetBar的OutLook组件http://www.devcomponents.com/dotnetbar/ ListView + SplitContainer XP style Explorer Barhttp://www.codeproject.com/KB/miscctrl/XPTaskBar.aspx www.codeproject.com里有现成的类似OUTLOOK界面的源码,下载一个看看就明白了 不用第三方控件的话 可以用自带的panle或窗体 可以提前设置panle或窗体的位置 也可以动态改变窗体的位置至于收缩就用api效果好一点 当然你需要做几个控制收缩的按钮好触发 此外就是窗体了动态改变位置大小 重绘窗体 以下是api收缩代码using System.Runtime.InteropServices; #region//api [DllImport("user32")] private static extern bool AnimateWindow(IntPtr whnd, int dwtime, int dwflag); //dwflag的取值如下 public const Int32 AW_HOR_POSITIVE = 0x00000001; //从左到右显示 public const Int32 AW_HOR_NEGATIVE = 0x00000002; //从右到左显示 public const Int32 AW_VER_POSITIVE = 0x00000004; //从上到下显示 public const Int32 AW_VER_NEGATIVE = 0x00000008; //从下到上显示 public const Int32 AW_CENTER = 0x00000010; //若使用了AW_HIDE标志,则使窗口向内重叠,即收缩窗口;否则使窗口向外扩展,即展开窗口 public const Int32 AW_HIDE = 0x00010000; //隐藏窗口,缺省则显示窗口 public const Int32 AW_ACTIVATE = 0x00020000; //激活窗口。在使用了AW_HIDE标志后不能使用这个标志 public const Int32 AW_SLIDE = 0x00040000; //使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略 public const Int32 AW_BLEND = 0x00080000; //透明度从高到低 #endregion //从左到右 参数自己根据上面的替换实现不同的现实效果 AnimateWindow("控件或窗体名称".Handle, 1000, AW_SLIDE | AW_HIDE | AW_HOR_POSITIVE); "控件或窗体名称".Show 类索引器问题 为什么复制文件的时候会退出软件? 本人刚学习C#,请教个关于登入界面按钮事件的问题 很难的 简单正则问题 关于图片绘制的速度问题 如何用C#实现数据库备份? 界面不同,输入法也不同了。 请高手指点,int PGetStr(char *c_pczName,char *c_pczBuf,int c_iBufLen); Label控件的背景怎么变成透明的,就像VB6一样 关于模拟用户登录的问题impersonate Visual Studio Team Foundation Server 2008 安装不于SQL2008兼容 如何取得C# 的函数调用关系
http://www.codeproject.com/KB/miscctrl/XPTaskBar.aspx
至于收缩就用api效果好一点 当然你需要做几个控制收缩的按钮好触发 此外就是窗体了动态改变位置大小 重绘窗体
以下是api收缩代码
using System.Runtime.InteropServices;
#region//api
[DllImport("user32")]
private static extern bool AnimateWindow(IntPtr whnd, int dwtime, int dwflag);
//dwflag的取值如下
public const Int32 AW_HOR_POSITIVE = 0x00000001;
//从左到右显示
public const Int32 AW_HOR_NEGATIVE = 0x00000002;
//从右到左显示
public const Int32 AW_VER_POSITIVE = 0x00000004;
//从上到下显示
public const Int32 AW_VER_NEGATIVE = 0x00000008;
//从下到上显示
public const Int32 AW_CENTER = 0x00000010;
//若使用了AW_HIDE标志,则使窗口向内重叠,即收缩窗口;否则使窗口向外扩展,即展开窗口
public const Int32 AW_HIDE = 0x00010000;
//隐藏窗口,缺省则显示窗口
public const Int32 AW_ACTIVATE = 0x00020000;
//激活窗口。在使用了AW_HIDE标志后不能使用这个标志
public const Int32 AW_SLIDE = 0x00040000;
//使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略
public const Int32 AW_BLEND = 0x00080000;
//透明度从高到低
#endregion //从左到右 参数自己根据上面的替换实现不同的现实效果
AnimateWindow("控件或窗体名称".Handle, 1000, AW_SLIDE | AW_HIDE | AW_HOR_POSITIVE);
"控件或窗体名称".Show