none
C# 中每一个控件中有N个事件,但是我双击控件,只看到“***changed”事件,而参看书上有需要其他事件时,我添加代码进去。但是发现不起作用 RRS feed

  • 问题

  • 如题,例如我用复选框控件:checkbox中的click事件。但是双击控件,只有如下事件
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
        }

    参考书上,自己添加代码。如下:

        private void checkBox1_Click(object sender, EventArgs e)
        {
          if (checkBox1.CheckState == CheckState.Checked)
          {
            MessageBox.Show("选中");
          }
          else
          {
            MessageBox.Show("取消");
          }
        }

    但是不起作用,不知道为何?

    后来发现其他控件我也只看到***changed的事件,其他事件自己添加代码时都不起作用。我正在学c#,大家不要笑话~谢谢,呵呵

    2010年5月7日 7:34

答案

  • 双击自动生成的是默认使用频率最高的那个事件。

    其他事件,你可以有两种途径书写:

    1。查MSDN的控件类说明,找到该控件的所有事件列表,然后自己定义该事件函数。

    2。在设计器中选择那个控件,然后点属性---默认显示的是属性页,看到属性卡上面有一个黄色小闪电的图标,点一下,就变成显示所有的事件了。在你想要的事件上双击鼠标,系统就自动生成你想要的事件函数了。

    2010年5月7日 8:34

全部回复

  • 双击自动生成的是默认使用频率最高的那个事件。

    其他事件,你可以有两种途径书写:

    1。查MSDN的控件类说明,找到该控件的所有事件列表,然后自己定义该事件函数。

    2。在设计器中选择那个控件,然后点属性---默认显示的是属性页,看到属性卡上面有一个黄色小闪电的图标,点一下,就变成显示所有的事件了。在你想要的事件上双击鼠标,系统就自动生成你想要的事件函数了。

    2010年5月7日 8:34
  • 你现在的代码,需要在窗口OnLoad事件中增加一行代码,告诉程序在双击时调用你的函数。

    Form1_load()

    {

            checkBox1.Checked += checkBox1_Click;

    }

    2010年5月7日 8:36
  • 非常感谢!
    2010年5月7日 9:24
  • 你好!

         如果你想自动生成相应的代码,可以参考Shao的回复,如果要自己写代码,可以在窗体的构造函数中添加订阅代码:

         this.checkBox1.Click+=new EventHandler(checkBox1_Click);


    周雪峰
    2010年5月7日 9:32
    版主