我創建了簡單的窗體,現在我想在相對座標中繪製單個對象(矩形,圓形,線..)。 這裏的主要問題是在窗體中間創建二維笛卡爾座標系。是否有可能以及如何做?創建笛卡爾座標系c#窗體窗體繪圖
主要問題是如何有效地將絕對座標轉換爲相對?如何創建我自己的系統,所以我得到的結果數字(負面,積極取決於象限),而不是像素?
。
當前我製作了MouseMove事件以顯示Cursor.Position.X
,Cursor.Position.Y
的鼠標當前位置,並將其顯示在標籤中。顯示的座標是像素,如何改變?我已經閱讀了一些關於使用PointToClient
方法進行轉換的內容,但我不太瞭解它。
我被捆綁到windows窗體becouse我已經在win窗體中創建了一個程序,現在我只是想將此功能添加到它。
感謝
您是否嘗試過使用變量來抵消當前位置? I.E. var offsetX = control.Width/2; (請記住,你需要確定如何處理奇數大小) – Tebc
,這對我沒有任何幫助......我設法創建了面板大小1; 1並將它放在中間,然後我使用了' Point point = panel2.PointToClient(Cursor.Position); label1.Text =「當前座標:」+ point.ToString();'這是新鮮的,並不是我的問題的清晰解決方案,我想找到更好的解決方案 – dodoria1992
[繪圖控制時翻轉座標可能重複]( http://stackoverflow.com/questions/1485745/flip-coordinates-when-drawing-to-control) – TaW