none
滑鼠事件用在picturebox RRS feed

  • 問題

  • 您好,我目前畫曲線圖,因為數值太過密集不方便顯示,我想要用滑鼠移到那個點時,再進行數值的顯示。
    我會抓滑鼠在picturebox裡的座標,請問我該怎麼做?

    2016年12月7日 下午 01:50

解答

  • 您可以考慮使用Chart控制項, 將Series屬性的IsValueShownAsLabel屬性設定為True即可達到您要的功能
    • 已標示為解答 愷愷 2016年12月8日 上午 10:29
    • 已編輯 tihsMVP 2016年12月9日 上午 02:01
    2016年12月8日 上午 01:10
  • 偷雞的做法是在每個 Point 放一個透明的小 Label ,在 Label.Tooltip 來填座標,靠滑鼠自動來觸發,但很耗資源。

    要節省資源要自己做座標判斷,先把 PictureBox 轉換成繪圖座標,再做 座標點與 Points 的距離判斷,當小於容許值時,顯示該點座標。

    如果不會判斷,專門針對這種需求的 Windows API 有兩個:

    LineDDA

    PtInRegion

    .Net framework 似乎沒包到上面兩個 API

    Region 倒是有包成一個類別,可以得到 hRgn


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已標示為解答 愷愷 2016年12月8日 上午 10:29
    2016年12月7日 下午 05:15

所有回覆

  • 偷雞的做法是在每個 Point 放一個透明的小 Label ,在 Label.Tooltip 來填座標,靠滑鼠自動來觸發,但很耗資源。

    要節省資源要自己做座標判斷,先把 PictureBox 轉換成繪圖座標,再做 座標點與 Points 的距離判斷,當小於容許值時,顯示該點座標。

    如果不會判斷,專門針對這種需求的 Windows API 有兩個:

    LineDDA

    PtInRegion

    .Net framework 似乎沒包到上面兩個 API

    Region 倒是有包成一個類別,可以得到 hRgn


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已標示為解答 愷愷 2016年12月8日 上午 10:29
    2016年12月7日 下午 05:15
  • 您可以考慮使用Chart控制項, 將Series屬性的IsValueShownAsLabel屬性設定為True即可達到您要的功能
    • 已標示為解答 愷愷 2016年12月8日 上午 10:29
    • 已編輯 tihsMVP 2016年12月9日 上午 02:01
    2016年12月8日 上午 01:10
  • 因為我繪圖會變來變去(大概12~372點),不太能用偷雞的
    剩下的我試試看用判斷式去下看看,謝謝你的協助

    2016年12月8日 上午 01:48
  • 好的  我試試看用Chart來試試看
    2016年12月8日 上午 01:48
  • 可以跟您請教一下,關於您說的UseValueAsLabel 有沒有相關的資料可以看
    我大部分是找到關於MOUSEMOVE
    2016年12月8日 上午 09:55