[問題] 畫圖

看板C_Sharp作者 (幻影成風)時間18年前 (2007/10/31 23:08), 編輯推噓3(301)
留言4則, 2人參與, 最新討論串1/1
我想在OnMouseMove的時候能夠產生拖曳圓形的樣子 protected override void OnMouseMove(MouseEventArgs e) { g.Clear(Color.whilte); g.DrawEllipse(................); } 這樣一來就可以成功有拖曳圓形變大變小的感覺了 可是在畫下一個圓形時會碰到g.Clear(Color.whilte);的影響 造成上一次畫的圓形會消失... 有沒有辦法讓所有的圖形留在graphics上 而且也要有拖曳的效果? 如果使用 g.DrawEllipse(new Pen(Color.White,5), ............); g.DrawEllipse(new Pen(ForeColor,5), ...............); 在畫下一個圓時 把上一個圓清除 好像可以達成這個效果 可是如果兩個圓有接觸時 前一個圓某部份會變白色....= =" 不知道有沒有辦法解決~~~謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.164.3

11/01 20:41, , 1F
你講的是Layer的概念。把Layer建成Object就解決了。
11/01 20:41, 1F

11/02 00:19, , 2F
可以麻煩樓上的大大再說明一下嗎??我有點不太清楚
11/02 00:19, 2F

11/02 12:26, , 3F
這是圖層的概念,請把每一層建成物件方便重繪
11/02 12:26, 3F

11/02 15:35, , 4F
如果不想加上Undo功能,就把畫過的層統統建成一堆就好
11/02 15:35, 4F
文章代碼(AID): #17A9fIXh (C_Sharp)