看板 C_Sharp 關於我們 聯絡資訊
※ 引述《teamspike (市政府7F)》之銘言: : 問題1. : private void Form1_MouseDown(object sender, MouseEventArgs e) : { : Point point = new Point(e.X, e.Y); : } : 可以取得滑鼠目前位於全螢幕的座標 : 則相對於可拖拉form的座標該如何取得? : 問題2. : 實作於form內之圖型不管form如何拖拉都需畫在form內一樣的位置 : 只需把圖形座標給draw指令即可,並不需我們手動去轉換座標 : 為何不會發生拖拉form的位置而圖形留在原地的情況呢? e.X、e.Y或e.Location是form的位置。 全螢幕的位置的取得可以用this.PointToScreen(e.Location)來取得。 第二個問題,因為你是在form裡面進行Draw的動作,使用的座標是form的座標, 當視窗發生了需要重繪的動作時,會通知系統來作對應的動作, 並且會使你的form發生OnPaint的事件,這時會正確的把圖形畫在對的地方。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.13.226