2

画像ボックスでマウスのクリック座標を取得し、情報をテキストボックスに入れようとしています。

フォームでマウス クリックの座標を取得できますが、ピクチャ ボックスでマウスの座標を取得できません (ピクチャ ボックスをクリックしても何も起こりません)。stackoverflow に関する同様の質問からの回答を見てきましたが、何も機能していないようです。

ここに私の完全なコードがあります:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace testGraphiqueCSharp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        protected override void OnMouseClick(MouseEventArgs e)
        {
            base.OnMouseClick(e);
            textBox1.Text = e.X.ToString();
            textBox2.Text = e.Y.ToString();
        }

       private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            textBox1.Text = e.X.ToString();
            textBox2.Text = e.Y.ToString();
            Console.WriteLine("mouse up");
        }
    }
}
4

5 に答える 5

4
private void pictureBox1_Click(object sender, EventArgs e)
{
    var mouseEventArgs = e as MouseEventArgs;
    if (mouseEventArgs != null) textBox1.Text = "X= " + mouseEventArgs.X + " Y= " + mouseEventArgs.Y;
}
于 2013-10-05T17:09:29.027 に答える
1

これで pictureBox1_MouseUp を置き換えます

private void pictureBox1_Click(object sender, EventArgs e)
{
    MouseEventArgs eM = (MouseEventArgs)e;
    textBox1.Text = eM.X.ToString();
    textBox2.Text = eM.Y.ToString();
    Console.WriteLine("mouse up");
}
于 2013-10-06T20:03:59.203 に答える
1

mouseup イベントが発生したときにその関数を呼び出しました。ピクチャボックスがクリックされたときに関数を呼び出す必要があります.tappedなどのイベントを試して、タスクを完了してください。

于 2013-10-05T17:08:50.257 に答える
1

あなたのコードは完璧で、私のコンピューターで動作しています
Please make sure that that event is actually called by putting debug point.
。これは同じ
UI パーツの画像です。
ここに画像の説明を入力


コード部分
ここに画像の説明を入力

出力(画像をクリックしている間)
ここに画像の説明を入力

于 2013-10-05T17:15:26.893 に答える
0

これは私にとってはうまくいきました。このコードをフォームのコンストラクターに貼り付けました。

pictureBox1.MouseClick += (s, e) => MessageBox.Show(String.Format("Mouse Clicked at X: {0} Y: {1}", e.X, e.Y));
于 2013-10-05T17:02:54.430 に答える