0

Win Form VS 2010 C# を使用しています。

Form Loadに次のコードがあります

pictureBox2.MouseClick +=new MouseEventHandler(pictureBox2_Click);
pictureBox2.DoubleClick += new EventHandler(pictureBox2_Click);
pictureBox2.Click += new EventHandler(pictureBox2_Click);
pictureBox2.MouseDoubleClick += new MouseEventHandler(pictureBox2_Click);

そしてこれはイベントで

private void pictureBox2_Click(object sender, EventArgs e)
{
    // Hides and disables another picture box
    pictureBox1.Enabled = false;
    pictureBox1.Visible = false;
    // more codes here...
}

イベントを起動したくありません。念のため、トグル ブレークポイントも追加しましたが、そこで停止することはありません。

私のpictureBox2にはBackColor Transparentというプロパティがあります。これは何か関係がありますか?

4

1 に答える 1

2

すべてが機能するはずなので、私の考えは次のとおりです。

  1. .MouseClick の代わりに .Click を使用するとどうなりますか? 違いはありますか?

  2. イベント ハンドラーの作成をフォーム ロード イベントではなく、InitializeComponent() (または InitializeComponent() の直後) に移動するとどうなりますか? 違いはありますか?

  3. ピクチャ ボックスの代わりにクリックを受け取るピクチャ ボックスの上にある別のコントロールに何らかの問題がありますか?

  4. 透明な背景色が問題であると思われる場合は、背景色を変更して問題が解決するかどうかを確認してください。その後、あなたの答えが得られます。

  5. (解決策) @HenryHughes が、Visual Studio プロジェクトを最初から再作成するだけで元の問題を最終的に解決したとコメントした後、明確化のために編集を追加しました。

于 2013-10-25T04:21:56.663 に答える