像QQ里的那种推拉式菜单,C#该如何实现!跪求高手指点!~ 像QQ里的那种推拉式菜单,C#该如何实现!有现成的控件吗?还是说只能自己写,请高手提示!本人用C#写!跪求代码! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用js结合DIV等块级元素来实现。动态控制块级元素的显示和隐藏(style.display)。 在csdn的下载里有个日记本程序,你可以参考下啊=================================== CSDN助手 全面支持CSDN论坛 == 监视、收藏、历史、签名走马灯 =================================== 现成控件多: DotnetBar Janus ComponentOne 用NetAdvantagehttp://lib.verycd.com/2006/07/17/0000111150.html我用的就是这个,可以实现 using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;/* * 算法简述(主要分为如下三个步骤): * * 1、首先将该按钮上面的按钮推上去(相当于点击被“推上去”的这个按钮),在推动的过程中, * 如果被推动的按钮的上面还有另一个按钮,则重复这个过程(步骤 1) * 2、然后将自己推上去 * 3、最后将该按钮下面的按钮推下去(相当于点击被“推下去”的这个按钮),在推动的过程中, * 如果被推动的按钮的上面还有另一个按钮,则重复这个过程(步骤 3) * * 整个过程就像你站在队伍中,你想前进,首先你得告诉站在你前面的人前进,然后你必须等待,直到你前面的人 * 前进之后你才能够前进。(你前面的人同样必须和你做同样的事,这个过程直到传达到第一个人为止) * * * * 还没有明白吗?没关系,我们来举例说明这个算法: * 为了方便理解程序,我们以“按钮1”、“按钮2”、“按钮3”和“按钮4”这四个从上到下依次排列的按钮为例, * 我们假设“按钮3”被点击: * 1、将“按钮1”推到最顶端 * 2、将“按钮2”推到“按钮1”的下方。 * 3、将自己(“按钮3”)推上去; * 4、将“按钮4”推下去。 * * * 本程序中主要运用了属性的特点。 * 因为使用的是中文编程,所以就不再详细说明了。 */namespace QQ3000{ /// /// Summary description for Form1. /// public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Button 按钮_我的好友; private System.Windows.Forms.Button 按钮_陌生人; private System.Windows.Forms.Button 按钮_黑名单; private int 陌生人 { get { return 按钮_陌生人.Top; } set { if( value < 按钮_陌生人.Top ) { 按钮_陌生人.Top = 按钮_我的好友.Top + 按钮_我的好友.Height; } else { 黑名单 ++; 按钮_陌生人.Top = 按钮_黑名单.Top - 按钮_陌生人.Height; } } } private int 黑名单 { get { return 按钮_黑名单.Top; } set { if( value < 按钮_黑名单.Top ) { 陌生人 --; 按钮_黑名单.Top = 按钮_陌生人.Bottom + 1; } else { 按钮_黑名单.Top = groupBox1.Height - 按钮_陌生人.Height; } } } /// /// Required designer variable. /// private System.ComponentModel.Container components = null; public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.按钮_黑名单 = new System.Windows.Forms.Button(); this.按钮_陌生人 = new System.Windows.Forms.Button(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.按钮_我的好友 = new System.Windows.Forms.Button(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // // 按钮_黑名单 // this.按钮_黑名单.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.按钮_黑名单.Location = new System.Drawing.Point(0, 48); this.按钮_黑名单.Name = "按钮_黑名单"; this.按钮_黑名单.Size = new System.Drawing.Size(97, 24); this.按钮_黑名单.TabIndex = 2; this.按钮_黑名单.Text = "黑 名 单"; this.按钮_黑名单.Click += new System.EventHandler(this.按钮_黑名单_单击); // // 按钮_陌生人 // this.按钮_陌生人.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.按钮_陌生人.Location = new System.Drawing.Point(0, 24); this.按钮_陌生人.Name = "按钮_陌生人"; this.按钮_陌生人.Size = new System.Drawing.Size(97, 24); this.按钮_陌生人.TabIndex = 1; this.按钮_陌生人.Text = "陌 生 人"; this.按钮_陌生人.Click += new System.EventHandler(this.按钮_陌生人_单击); // // groupBox1 // this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] { this.按钮_黑名单, this.按钮_陌生人, this.按钮_我的好友}); this.groupBox1.Location = new System.Drawing.Point(8, 8); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(97, 352); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; // // 按钮_我的好友 // this.按钮_我的好友.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.按钮_我的好友.Name = "按钮_我的好友"; this.按钮_我的好友.Size = new System.Drawing.Size(97, 24); this.按钮_我的好友.TabIndex = 0; this.按钮_我的好友.Text = "我 的 好 友"; this.按钮_我的好友.Click += new System.EventHandler(this.按钮_我的好友_单击); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(113, 378); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.groupBox1}); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "Form1"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "QQ3000"; this.groupBox1.ResumeLayout(false); this.ResumeLayout(false); } #endregion /// /// The main entry point for the application. /// [STAThread] static void Main() { Application.Run(new Form1()); } private void 按钮_我的好友_单击(object sender, System.EventArgs e) { 陌生人 ++; } private void 按钮_陌生人_单击(object sender, System.EventArgs e) { 陌生人 --; 黑名单 ++; } private void 按钮_黑名单_单击(object sender, System.EventArgs e) { 陌生人 --; 黑名单 --; } }} 发一份源程序,谢谢了。[email protected] WPF中如何显示表格? 怎样从网页中提取控件,加到WinForm中 请教一个疑难问题 C# 多线程编程 初学API,代码大家帮忙改 byte初始化的问题! C#中有返回值的Sub的书写与调用 asp.net +c#怎么连接数据库啊??? Winform问题 C#里可以实现类似VC++的消息响应吗? #############我怎样将一个DLL文件与主程序并到一起,执行的时候再释放出来?? 请教,在C#中如何调出QuickWatch窗口??!!
动态控制块级元素的显示和隐藏(style.display)。
= CSDN助手 全面支持CSDN论坛 =
= 监视、收藏、历史、签名走马灯 =
==================================
Janus
ComponentOne
http://lib.verycd.com/2006/07/17/0000111150.html我用的就是这个,可以实现
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
/*
* 算法简述(主要分为如下三个步骤):
*
* 1、首先将该按钮上面的按钮推上去(相当于点击被“推上去”的这个按钮),在推动的过程中,
* 如果被推动的按钮的上面还有另一个按钮,则重复这个过程(步骤 1)
* 2、然后将自己推上去
* 3、最后将该按钮下面的按钮推下去(相当于点击被“推下去”的这个按钮),在推动的过程中,
* 如果被推动的按钮的上面还有另一个按钮,则重复这个过程(步骤 3)
*
* 整个过程就像你站在队伍中,你想前进,首先你得告诉站在你前面的人前进,然后你必须等待,直到你前面的人
* 前进之后你才能够前进。(你前面的人同样必须和你做同样的事,这个过程直到传达到第一个人为止)
*
*
*
* 还没有明白吗?没关系,我们来举例说明这个算法:
* 为了方便理解程序,我们以“按钮1”、“按钮2”、“按钮3”和“按钮4”这四个从上到下依次排列的按钮为例,
* 我们假设“按钮3”被点击:
* 1、将“按钮1”推到最顶端
* 2、将“按钮2”推到“按钮1”的下方。
* 3、将自己(“按钮3”)推上去;
* 4、将“按钮4”推下去。
*
*
* 本程序中主要运用了属性的特点。
* 因为使用的是中文编程,所以就不再详细说明了。
*/
namespace QQ3000
{
///
/// Summary description for Form1.
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button 按钮_我的好友;
private System.Windows.Forms.Button 按钮_陌生人;
private System.Windows.Forms.Button 按钮_黑名单;
private int 陌生人
{
get
{
return 按钮_陌生人.Top;
}
set
{
if( value < 按钮_陌生人.Top )
{
按钮_陌生人.Top = 按钮_我的好友.Top + 按钮_我的好友.Height;
}
else
{
黑名单 ++;
按钮_陌生人.Top = 按钮_黑名单.Top - 按钮_陌生人.Height;
}
}
}
private int 黑名单
{
get
{
return 按钮_黑名单.Top;
}
set
{
if( value < 按钮_黑名单.Top )
{
陌生人 --;
按钮_黑名单.Top = 按钮_陌生人.Bottom + 1;
}
else
{
按钮_黑名单.Top = groupBox1.Height - 按钮_陌生人.Height;
}
}
}
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null; public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent(); //
// TODO: Add any constructor code after InitializeComponent call
//
} ///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.按钮_黑名单 = new System.Windows.Forms.Button();
this.按钮_陌生人 = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.按钮_我的好友 = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// 按钮_黑名单
//
this.按钮_黑名单.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.按钮_黑名单.Location = new System.Drawing.Point(0, 48);
this.按钮_黑名单.Name = "按钮_黑名单";
this.按钮_黑名单.Size = new System.Drawing.Size(97, 24);
this.按钮_黑名单.TabIndex = 2;
this.按钮_黑名单.Text = "黑 名 单";
this.按钮_黑名单.Click += new System.EventHandler(this.按钮_黑名单_单击);
//
// 按钮_陌生人
//
this.按钮_陌生人.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.按钮_陌生人.Location = new System.Drawing.Point(0, 24);
this.按钮_陌生人.Name = "按钮_陌生人";
this.按钮_陌生人.Size = new System.Drawing.Size(97, 24);
this.按钮_陌生人.TabIndex = 1;
this.按钮_陌生人.Text = "陌 生 人";
this.按钮_陌生人.Click += new System.EventHandler(this.按钮_陌生人_单击);
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
this.按钮_黑名单,
this.按钮_陌生人,
this.按钮_我的好友});
this.groupBox1.Location = new System.Drawing.Point(8, 8);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(97, 352);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
//
// 按钮_我的好友
//
this.按钮_我的好友.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.按钮_我的好友.Name = "按钮_我的好友";
this.按钮_我的好友.Size = new System.Drawing.Size(97, 24);
this.按钮_我的好友.TabIndex = 0;
this.按钮_我的好友.Text = "我 的 好 友";
this.按钮_我的好友.Click += new System.EventHandler(this.按钮_我的好友_单击);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(113, 378);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.groupBox1});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "QQ3000";
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false); }
#endregion ///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
} private void 按钮_我的好友_单击(object sender, System.EventArgs e)
{
陌生人 ++;
} private void 按钮_陌生人_单击(object sender, System.EventArgs e)
{
陌生人 --;
黑名单 ++;
} private void 按钮_黑名单_单击(object sender, System.EventArgs e)
{
陌生人 --;
黑名单 --;
}
}
}