1
我只想知道如何在c#中拖放一條在運行時動態創建的線(鼠標繪製線)。動態線放置在面板上。在winform中拖動一條動態線
我只想知道如何在c#中拖放一條在運行時動態創建的線(鼠標繪製線)。動態線放置在面板上。在winform中拖動一條動態線
我已經在過去使用兩種方法:
上的MouseDown calculate the distance between the line and the mouse cursor。如果它在幾個像素內開始拖動。當鼠標按鍵響應MouseMove時,通過在相同的矢量上翻譯線條的起點和終點(當前鼠標位置 - 開始拖動鼠標位置)
On MouseDown測試鼠標光標下像素的顏色看看它是否在線。如果是這樣做,就像上面一樣拖動。
棘手的是,當有多個行是接近那個選項1是很難,你需要找出需要拖動
選項2硬哪一行,當行非常薄。
另一種方法是在繪製線條時在不可見位圖上繪製較粗線條並在不可見位圖上測試像素。通過這種方式,您可以給予更多的寬容,並且您可以爲每條無形線條分配不同的顏色,以便識別已點擊的線條。
這是否有意義?