2010-04-07 59 views
1

我的圖形和位圖有一些奇怪的問題。圖形/位圖限制?

我有一個圖形對象顯示在一個圖片框和即時捕捉MouseMove和鼠標點擊事件給圖像上的鼠標的X和Y位置,但如果Y位置變大,那麼32775然後進入否定意味着一切都打破如果圖像較大,則65535然後停止顯示圖像。

任何想法如何解決這些問題?

感謝

示例代碼:

http://pastebin.com/YEX0XD1q

只需單擊Make萬更大的約4倍,然後向下滾動,右邊就會顯示鼠標的X和Y位置和你通過圖像向下移動並將鼠標懸停在紅色區域上,如果走得夠遠,它將進入負值Y.

+0

你是否在調用API調用來獲取鼠標位置?在.Net中,MouseMove事件中的'MouseEventArgs'參數指定X和Y爲'int',所以你不應該得到這個''short'' wraparound問題(我從來沒有嘗試過使用一個PictureBox這麼大)。 – MusiGenesis 2010-04-07 02:08:48

+0

@MusiGenesis假設整個範圍都是保證通過和通過... – 2010-04-07 02:13:18

+0

我只是自己試過,設計師不會讓我使一個PictureBox的高度或寬度大於32767.你怎麼這樣做? – MusiGenesis 2010-04-07 02:19:19

回答

1

通過研究我已經設法解決了我的問題

  1. 不要在面板內使用PictureBox,而應使用ScrollableControl。這將解決這個問題,我無法做出比65K高度更大的東西。
  2. 使用GetVirtualMouseLocation獲得虛擬鼠標位置

我只是用什麼posted here

上述作品完美。