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;上記のメインプログラムに含めたことに注意してください。

* UPDATE * コンパイル後、別のエラーが発生するようになりました (コードは変更されていません)。

エラー 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 に答える