0

我尝试从单击图像的位置获取 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”的定义,并且找不到接受“System.Windows.Forms.PictureBox”类型的第一个参数的扩展方法“pictureBox1_MouseDown”

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

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

请注意,我已将using System;上述内容包含在我的主程序中。

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

错误 1 ​​'pictureBox1_MouseDown' 没有重载匹配委托 'System.EventHandler'

4

1 回答 1

0

在我看来,您手动对设计器文件进行了更改。如果您这样做了,请停止这样做:不应触摸设计器生成的代码,因为 VS 会搞砸它。

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

以下:

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

应该:

this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown);
于 2012-11-09T22:20:00.610 回答