none
滑鼠座標事件 RRS feed

  • 問題

  •  

    不好意思

    想請問我現在有個form而這個form有一個label跟一個picturebox

    我想要當滑鼠移動進入picturebox的時候

    label可以顯示他在picturebox的位置(X, Y)

    (不是在form的座標位置而是以picturebox為主的座標位置)

     

    不知道有沒有辦法達成

     

    謝謝

     

    2008年4月2日 上午 04:19

解答

所有回覆

  • 試試看...

    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        label1.Text = string.Format("X: {0}, Y: {1}", e.X, e.Y);
    }

    2008年4月2日 上午 05:27
  •  

    嗯嗯

    謝謝您這麼快就回我

    但不知道我要如何把它跟pictureBox1做連結

    他說好像要delegate的樣子

     

     

    2008年4月2日 上午 05:30
  • 就在設計畫面點擊 picturebox,然後在屬性視窗的 "事件" 頁面 (閃電標誌),找到 MouseMove 事件滑鼠點兩下就可以了。

    當然你想要用寫程式碼的方式,也就是在 Form_Load 寫入下列程式碼:
    pictureBox1.MouseMove += new MouseEventHandler(pictureBox1_MouseMove);

    2008年4月2日 上午 05:45
  •  

    謝謝你的幫助

     

    2008年4月2日 上午 05:53
  • 那請問一下,相同的問題,如果我在picturebox上要抓到

    以form為主的座標位置,要怎麼弄呢

    謝謝
    2009年6月26日 下午 01:13
  • 您的意思是如下嗎?參考看看囉...

            private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
            {
                this.textBox1.Text = (e.X + this.pictureBox1.Left).ToString() + ";" + (e.Y + this.pictureBox1.Top).ToString();
    }
    2009年6月26日 下午 01:57
  • 大概了解意思了...不過還有個問題

    如果說現在我是宣告一個array<PictureBox^>(200)

    然後當我滑鼠要移動其中的一個picturebox的話,那我要怎麼做判斷呢?

    謝謝
    2009年6月27日 上午 08:10
  •  把所有的 pictureBox的MouseMove 事件委派給同一個 MouseEventHandler
    請參考 MSDN文件庫
    [MouseEventHandler 委派]
    [EventHandler<(Of <(TEventArgs>)>) 委派]
    [事件和委派]


    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重
    2009年6月27日 上午 11:22
    版主
  • 我想我了解了...感謝~~
    2009年6月27日 下午 12:15