[.NET] 想問關於RECTANGLE函數

看板Visual_Basic作者 (熱可可棉花糖)時間17年前 (2009/01/17 04:13), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
基本上在寫一個很簡單的球形上下左右移動 用Rectangle再裡面畫個圓形 按鈕按會增加Rectangle的X,Y值 但是會一直複製新的出來 所以加了先清除畫布再增加X,Y值 有甚麼辦法可以不要讓他複製嗎? 而且Rectangle移動一次跑好慢Q口Q 如果不用Rectangle 直接在按鈕內寫新增圓形 那個圓形就跑起來很快 有人知道這是為甚麼嗎QAQ? 謝謝 :) 這是我寫的程式碼OAO Dim rect As New Rectangle(0,0,50,50) Dim Ball As Graphics Dim Pen As New SolidBrush(Color.Black) Dim x,y As Integer ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ Private Sub Form1_Paint (.... Ball = Me.CreateGraphics '表單為畫圖物件 Ball.FillEllipse ( Pen , rect ) '在rect畫個圓 ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ Private Sub Form1_Load (.... x = rect.Location.X y = rect.Location.Y ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ Private Sub btnTop_Click (.... Ball.Clear ( Color.White ) '先把原本的圓清除在畫新的 rect.Location.Y = y - 50 '一次移動50 ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ Private Sub btnLeft_Click (.... Ball.Clear ( Color.White ) '先把原本的圓清除在畫新的 rect.Location.X = x - 50 '一次移動50 ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 因為另外兩個都差不多所以就不寫了 不先清除好像就只會複製而且只會在原地上下左右50複製而已 如果不用Rectangle寫的話 也是一樣先清除前面的圓 然後在按鈕先寫x或y增加50 再寫 Ball.FillEllipse ( Pen , x , y , 50 , 50 ) 因為這題目老師還沒交... 而課本上也只有提供方法 說明很少 範例也並沒有移動的 只好亂摸 囧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.28.143

01/17 09:13, , 1F
太深奧了,看不懂。rect不是用來給定圓的大小位置嗎?
01/17 09:13, 1F

01/17 09:13, , 2F
那以下不用rectangle又是怎樣寫?
01/17 09:13, 2F

01/18 00:33, , 3F
啊啊 抱歉沒有說明很好 囧"
01/18 00:33, 3F
※ 編輯: er450203 來自: 61.224.34.32 (01/18 01:31) ※ 編輯: er450203 來自: 61.224.34.32 (01/18 01:39)

01/18 01:40, , 4F
對不起啊啊(鞠躬) 加上程式碼了 不太會說明就是了 囧
01/18 01:40, 4F

01/18 20:17, , 5F
唔,這樣我也不懂了,使用rectangle跟不用居然會差那麼
01/18 20:17, 5F

01/18 20:18, , 6F
多?這真要實作下去才知道,我沒比較過 X(
01/18 20:18, 6F

01/20 02:09, , 7F
嗯嗯 沒關係 謝謝你囉: D
01/20 02:09, 7F
文章代碼(AID): #19SEfRAc (Visual_Basic)