
分類: 電腦/網(wǎng)絡(luò) 程序設(shè)計 其他編程語言

成都創(chuàng)新互聯(lián)公司長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為招遠(yuǎn)企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作,招遠(yuǎn)網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
問題描述:
VB6中的form1.circle (100,200),rgb(0,255,0)的語句如何在VB中使用?。?/p>
急用?。。。。。。。。?/p>
解析:
VB與VB不同。
VB已經(jīng)有專門繪圖的類。
可以定義筆刷然后用Drawing類中的方法繪制。
Private Sub DrawEllipse()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawEllipse(myPen, New Rectangle(0,0,200,300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
Private Sub DrawRectangle()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawRectangle(myPen, New Rectangle(0,0,200,300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
首先引入System.Drawing和System.Drawing.Drawing2D
自己看得了
這里面說的有的可以填充的,是g.FillXXXX
繪制和數(shù)據(jù)分離,就是說,Paint 事件永遠(yuǎn)是用來繪制的,具體繪制什么東西(也就是繪制的數(shù)據(jù),如半徑為4的圓),有數(shù)據(jù)決定,MouseClick 可以更改一些參數(shù),然后由Paint 繪制:
MouseClick 事件里,重繪窗體,即:
int r = 0, x = 0, y = 0;
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
r = 10;
x = e.X;
y = e.Y;
this.Invalidate();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
// 繪制一個r半徑圓
e.Graphics.DrawEllipse(new Pen(Color.Red), x, y, r, r);
}
補充:
在 MouseClick 事件中去調(diào)用Form 的 Paint 事件,那么參數(shù)要如何傳遞?
參數(shù)是個全局變量,類似上面的r、x、y等,不是由e傳過去的,
上述代碼是c#的,vb.net和c#一樣,都是用的fcl類庫,你改一下就可以了,
'繪制圖形的三步曲
'1,獲得一個Graphics對象
Dim MyGraphics As Graphics
MyGraphics = Me.CreateGraphics
'2,定義一個Pen對象,用于繪制圖形(輪廓線)
Dim MyPen As New Pen(Color.Black)
'3,定義一個Brush對象,用于填充圖形(如果需要填充的話)
Dim MyBrush As New SolidBrush(Color.Orange)
MyGraphics.FillEllipse(MyBrush, 200, 200, 100, 100) '繪制一個實心圓,該圓在:直線x=200,y=200,x=200+100,y=200+100所劃的矩形區(qū)域內(nèi)
MyGraphics.DrawEllipse(MyPen, 200, 200, 100, 100) '繪制一個空心圓,該圓在:直線x=200,y=200,x=200+100,y=200+100所劃的矩形區(qū)域內(nèi)