private int i=1;
private void button_Click(object sender, System.EventArgs e)
{   
if(i==3)
{
MessageBox.Show("3次");
i=1;
}
else
{
i++;
}}

解决方案 »

  1.   

    呵呵 gongtengxinyi(极限指针)   说得有道理阿
      

  2.   

    我知道怎么实现,但是我没有现成的代码,思路我认为是对的
    你可以自己做一个控件,然后继承系统的button,然后再增加一个三击的方法就可以了
      

  3.   


    private int i=0;
    private void button1_Click(object sender, System.EventArgs e)
    {
    if (i%3==0)
    {
    MessageBox.Show("1");
    }
    if(i%3==1)
    {
    MessageBox.Show("2");
    }
    if (i%3==2)
    {
    MessageBox.Show("3");
    }
    i++;
    }
      

  4.   

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;namespace WindowsApplication13
    {
    /// <summary>
    /// Form1 的摘要说明。
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
    private System.Windows.Forms.Button button1;
    private System.ComponentModel.IContainer components;
    private int count = 0;
    private long newticks = 0;
    private long oldticks = 0;
    public Form1()
    {
    //
    // Windows 窗体设计器支持所必需的
    //
    InitializeComponent(); //
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
    //
    } /// <summary>
    /// 清理所有正在使用的资源。
    /// </summary>
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if (components != null) 
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    } #region Windows 窗体设计器生成的代码
    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
    this.button1 = new System.Windows.Forms.Button();
    this.SuspendLayout();
    // 
    // button1
    // 
    this.button1.Location = new System.Drawing.Point(216, 112);
    this.button1.Name = "button1";
    this.button1.TabIndex = 0;
    this.button1.Text = "button1";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    // 
    // Form1
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
    this.ClientSize = new System.Drawing.Size(292, 273);
    this.Controls.Add(this.button1);
    this.Name = "Form1";
    this.Text = "Form1";
    this.ResumeLayout(false); }
    #endregion /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    } private void button1_Click(object sender, System.EventArgs e)
    {
    if(this.count == 0)
    {
    this.newticks = DateTime.Now .Ticks ;
    //Console.WriteLine (this.newticks .ToString());
    }
    this.count +=1;
    if(this .count >= 3)
    {
    this.oldticks = DateTime.Now .Ticks ;
    Console.WriteLine (this.oldticks .ToString());
    if(( this.oldticks- this.newticks ) < 3900000)
    {
    this.button1_ThreeClick (sender, e);//
    return;
    }
    this.count = 0;
    //Console.WriteLine ((this.oldticks -this.newticks ));
    }
    }
    private void button1_ThreeClick(object sender, System.EventArgs e)
    {
    MessageBox.Show ("san lian ji");
    this.count = 0;//
    } }
    }
      

  5.   

    同意songbird(快乐鸟) 的,只要设定了响应时间,在设定的响应时间内单击3次,就认为是3击。个人觉得,可以自己做一个button 的组件继承button 的,再在上面写一个接受n击的。
      

  6.   

    先在dblClick中记录时间,再到click中验证时间是否在指定的时间内,如果是则执行