请教高手,这样的效果如何能否实现?

whowhen21 2009-02-13 02:22:31
我看到有用VS做的程序就像VS的工具箱那样的效果,请教是如何实现的啊,谢谢了哦。

...全文
232 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycsno1 2009-02-17
  • 打赏
  • 举报
回复
用DevExpress8.0或以上中的NavBarControl
LeoMaya 2009-02-16
  • 打赏
  • 举报
回复
这个简单啦, 看看SharpDevelop的实现就行, 而里面的Component也是国人的作品

去www.icsharpcode.com看看
whowhen21 2009-02-16
  • 打赏
  • 举报
回复
谢谢提醒啊,但是我看了个够,还是不知道是哪个啊,请教了,知道的给我留个名好不啊。
ojekleen 2009-02-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 whowhen21 的回复:]
是WinForm啊,我想实现的就是像VS工具箱一样的效果,我看到有人实现过,但我不知道用的是什么控件啊?
请教了,谢谢啊!
[/Quote]


工具箱里面好像就有这个东西,你找找。
chenxu4277 2009-02-16
  • 打赏
  • 举报
回复
DotNetBar 上有类似的Demo
whowhen21 2009-02-15
  • 打赏
  • 举报
回复
哎呀,知道的就给点分享啊,共同学习嘛?
或者加分!得到答案 立即给分!!
deyter 2009-02-15
  • 打赏
  • 举报
回复
mark
whowhen21 2009-02-15
  • 打赏
  • 举报
回复
是WinForm啊,我想实现的就是像VS工具箱一样的效果,我看到有人实现过,但我不知道用的是什么控件啊?
请教了,谢谢啊!
xiandawang 2009-02-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yzone 的回复:]
可以用AJAX控件嘛 QQ:747044733
[/Quote]


楼主是说winform吧
yzone 2009-02-13
  • 打赏
  • 举报
回复
可以用AJAX控件嘛 QQ:747044733
dell0923 2009-02-13
  • 打赏
  • 举报
回复
youyouke的方法要自己写太多代码,而且效果还不好.使用windows API最好:

bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags)

hwnd: 指定产生动画的窗口的句柄
dwTime: 指定动画持续的时间
dwFags: 指定动画类型,可以是一个或多个以下标志的组合

0x20000 AW_ACTIVE: 激活窗口,在使用了AW_HIDE标志后不要使用这个标志
0x10000 AW_HIDE: 隐藏窗口
0x80000 AW_BLEND: 使用淡入淡出效果
0x40000 AW_SLIDE: 使用滑动类型动画效果,默认为滚动动画类型,当使用AW_CENTER标志时,这个标志就被忽略
0x0010 AW_CENTER: 若使用了AW_HIDE标志,则使窗口向内重叠;否则向外扩展
0x0001 AW_HOR_POSITIVE: 自左向右显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志
0x0002 AW_HOR_NEGATIVE: 自右向左显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志3`'~YA[4^t)O
0x0004 AW_VER_POSITIVE: 自顶向下显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志f8w@vKX-t
0x0008 AW_VER_NEGATIVE: 自下向上显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志

C#中使用API函数:
[DllImport("user32")]
private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
在适当的窗口事件中点用此函数即可.
LQknife 2009-02-13
  • 打赏
  • 举报
回复
把ToolStrip倒过来,加个FlowLayOut控件在外边
youyouke 2009-02-13
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
while (groupBox1.Right > 0)
{
groupBox1.Left--;
}
label2.Visible = true;
}

private void label2_Click(object sender, EventArgs e)
{
while (groupBox1.Right < groupBox1.Width)
{
groupBox1.Left++;
}
label2.Visible = false;

}

private void Form1_Load(object sender, EventArgs e)
{
label2.Visible = false;
}
}
}
你再将效果和控件丰富一下就行了,Button1放在GroupBox1范围内。
youyouke 2009-02-13
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
while (groupBox1.Right > 0)
{
groupBox1.Left--;
}
label2.Visible = true;
}

private void label2_Click(object sender, EventArgs e)
{
while (groupBox1.Right < groupBox1.Width)
{
groupBox1.Left++;
}
label2.Visible = false;

}

private void Form1_Load(object sender, EventArgs e)
{
label2.Visible = false;
}
}
}
你再将效果和控件丰富一下就行了,Button1放在GroupBox1范围内。
youyouke 2009-02-13
  • 打赏
  • 举报
回复
用Button控件就可实现,即窗口移出屏幕和移入屏幕。
meheartfly 2009-02-13
  • 打赏
  • 举报
回复
TreeView树控件
whowhen21 2009-02-13
  • 打赏
  • 举报
回复
我是说它能停靠能隐藏这样的功能啊,好像有这样的控件哦,但我不知道是哪个?
youyouke 2009-02-13
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace 类QQ的程序界面
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
listView1.Dock = DockStyle.None;
button1.Dock = DockStyle.Top;
button2.Dock = DockStyle.Bottom;
button3.SendToBack();
button3.Dock = DockStyle.Bottom;
listView1.BringToFront();
listView1.Dock = DockStyle.Bottom;
listView1.Clear();
listView1.Items.Add("小猪", "小猪", 0);
listView1.Items.Add("小狗", "小狗", 1);
listView1.Items.Add("娇娇", "娇娇", 2);
}

private void Form1_Load(object sender, EventArgs e)
{
listView1.Clear();
listView1.LargeImageList = imageList1;
listView1.Items.Add("小猪", "小猪", 0);
listView1.Items.Add("小狗", "小狗", 1);
listView1.Items.Add("娇娇", "娇娇", 2);

}

private void button2_Click(object sender, EventArgs e)
{
listView1.Dock = DockStyle.None;
button2.Dock = DockStyle.Top;
button1.SendToBack();
button1.Dock = DockStyle.Top;
button3.Dock = DockStyle.Bottom;
listView1.Dock = DockStyle.Bottom;
listView1.Clear();
listView1.Items.Add("北风", "北风", 3);
}

private void button3_Click(object sender, EventArgs e)
{
listView1.Dock = DockStyle.None;
button3.SendToBack();
button3.Dock = DockStyle.Top;
button2.SendToBack();
button2.Dock = DockStyle.Top;
button1.SendToBack();
button1.Dock = DockStyle.Top;
listView1.Dock = DockStyle.Bottom;
listView1.Clear();
listView1.Items.Add("冰雨", "冰雨", 5);

}
}
}
flying_net 2009-02-13
  • 打赏
  • 举报
回复
TreeBox

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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