设计师不会接受我的方法鼠标

时间:2012-11-09 22:04:54

标签: c#

我尝试从单击图像的位置获取Heu值,但是我做错了什么,我不确定它是什么,它与设计器文件有关,以及我如何调用函数_mousedown图像。

在我的main.designer.cs文件中我有:

// pictureBox1
// 
this.pictureBox1.Location = new System.Drawing.Point(146, 30);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(640, 480);
this.pictureBox1.TabIndex = 1;
this.pictureBox1.TabStop = false;

//line below is not accepted ??  

this.pictureBox1.MouseDown += new System.EventHandler(this.pictureBox1_MouseDown); 

在我的主程序中我有:

private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
        System.Drawing.Point Cursor = new System.Drawing.Point(e.X, e.Y);
        Color pixel = myImage.GetPixel(Cursor.X, Cursor.Y);
        textBoxH.Text =pixel.GetHue().ToString();
     }

我得到的错误是:

*'System.Windows.Forms.PictureBox'不包含'pictureBox1_MouseDown'的定义,并且没有扩展方法'pictureBox1_MouseDown'接受类型'System.Windows.Forms.PictureBox'的第一个参数可以找到

您是否缺少using指令或程序集引用?)

C:\ projects \ visual studio 2010 \ Projects \ image \ Main.Designer.cs **

注意我已将using System;包含在我的主程序中。

* 更新 * 编译后我现在得到一个不同的错误(没有更改代码)

错误1“pictureBox1_MouseDown”没有重载与委托'System.EventHandler'相匹配

1 个答案:

答案 0 :(得分:0)

在我看来,您可以手动将更改编码到设计器文件中。如果你这样做,那就停止这样做:不应该触及设计器生成的代码,因为VS会搞砸它。

无论如何,这不是鼠标按下事件的正确定义。

以下内容:

this.pictureBox1.MouseDown += new System.EventHandler(this.pictureBox1_MouseDown);

应该是:

this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown);