效果如圖,代碼如下:

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),張家港網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:張家港等地區(qū)。張家港做網(wǎng)站價(jià)格咨詢:028-86922220
Public?Class?Form1
'Circle類
Class?Circle
? Public?Center?As?Point
? Public?Radius?As?Single
? Public?Sub?New(c?As?Point,?r?As?Single)
? ? ? Center?=?c
? ? ? Radius?=?r
? End?Sub
? '繪制
? Public?Sub?Draw(g?As?Graphics,?pen?As?Pen)
? ? ? g.DrawEllipse(pen,?New?RectangleF(Center.X?-?Radius,?Center.Y?-?Radius,?Radius?*?2,?Radius?*?2))
? End?Sub
End?Class
Private?downPoint?As?Point? ? ? '記錄鼠標(biāo)按下位置
Private?circleList?As?New?List(Of?Circle)? ? ? ?'已存放圓的列表
Private?tmpCircle?As?Circle? ? ?'臨時(shí)圓(正在拖動(dòng))
Private?Sub?Form1_Load(sender?As?Object,?e?As?EventArgs)?Handles?MyBase.Load
? DoubleBuffered?=?True? ? ? ?'啟用雙緩沖繪圖,避免閃爍
End?Sub
Private?Sub?Form1_MouseDown(sender?As?Object,?e?As?MouseEventArgs)?Handles?Me.MouseDown
? downPoint?=?e.Location? ? ? '記下位置
End?Sub
Private?Sub?Form1_MouseMove(sender?As?Object,?e?As?MouseEventArgs)?Handles?Me.MouseMove
? If?e.Button??Windows.Forms.MouseButtons.Left?Then?Return?'左鍵沒按下則退出
? Dim?r?As?Single?=?Math.Sqrt((e.X?-?downPoint.X)?^?2?+?(e.Y?-?downPoint.Y)?^?2)? '算出半徑
? tmpCircle?=?New?Circle(downPoint,?r)? ? ? ? ? ? '更新臨時(shí)圓
? Refresh()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'先刷新掉之前繪制的臨時(shí)圓
? tmpCircle.Draw(Me.CreateGraphics,?Pens.Black)? ?'繪制臨時(shí)圓
End?Sub
Private?Sub?Form1_MouseUp(sender?As?Object,?e?As?MouseEventArgs)?Handles?Me.MouseUp
? circleList.Add(tmpCircle)? ? ? ? ? ?'鼠標(biāo)彈起,把臨時(shí)圓加入圓列表
End?Sub
Private?Sub?Form1_Paint(sender?As?Object,?e?As?PaintEventArgs)?Handles?Me.Paint
? For?Each?c?As?Circle?In?circleList
? ? ? c.Draw(e.Graphics,?Pens.Black)? '繪制出每個(gè)圓
? Next
End?Sub
End?Class
VB的運(yùn)算順序是:先乘除、后加減,有括號的先算括號內(nèi),有負(fù)號的先算負(fù)號。
請你比較一下這個(gè)運(yùn)算中x和y的值:
Dim n As Single = 4
Dim x As Single
Dim y As Single
x = n + 1
x = x / n
x = x - 1
x = Math.Sqrt(x)
y = Math.Sqrt((n + 1) / n - 1)
這樣就會發(fā)現(xiàn),你的代碼中括號的位置錯(cuò)了。
正確的應(yīng)該是: Math.Sqrt((n + 1) / n - 1)
不知道你代碼哪里來的,但是我可以確定運(yùn)行起來有不少問題
還有很多條件語言浪費(fèi),和格式轉(zhuǎn)換問題,當(dāng)然我也不清楚vb6中
這些問題是不是會被忽略,反正放到vb點(diǎn)虐 中是百分之百不能得出你要的結(jié)果的
還有就是你的代碼不全,有些東西沒法解釋
'控件上鼠標(biāo)移動(dòng)事件處理進(jìn)程
Private Sub PicCross_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
'變量聲明
Dim alpha, xx, yy, radius As Single
'當(dāng)出現(xiàn)錯(cuò)誤是跳至下一行(即忽略錯(cuò)誤)
On Error Resume Next
'xx賦值為鼠標(biāo)X坐標(biāo)-500,yy賦值鼠標(biāo)Y坐標(biāo)-500
'radius賦值r=根號下xx方加yy方(半徑公式)
xx = X - 500
yy = Y - 500
radius = Sqr(xx * xx + yy * yy)
'當(dāng)xx大于0時(shí)
If xx 0 Then
'當(dāng)yy大于0時(shí)
If yy 0 Then
'alpha賦值為yy/xx*57.29578所得結(jié)果的反正切值
alpha = Atn(yy / xx) * 57.29578
'當(dāng)yy小等于0時(shí)
Else
'alpha賦值為yy/xx*57.29578+360所得結(jié)果的反正切值
alpha = Atn(yy / xx) * 57.29578 + 360
End If
End If
'當(dāng)xx小于0時(shí)
If xx 0 Then
'alpha賦值為yy/xx*57.29578+180所得結(jié)果的反正切值
alpha = Atn(yy / xx) * 57.29578 + 180
End If
'當(dāng)radius大等于350時(shí)
If radius = 350 Then
'PicCross控件集的第Index控件的ToolTipText(小提示屬性)等于 軸向:Text8控件集第Index控件中所含內(nèi)容數(shù)字形式乘以length值除以50(轉(zhuǎn)格式00.0) 徑向:alpha(轉(zhuǎn)格式00.0) 溫度:Text8控件集第Index控件中所含內(nèi)容乘以50除以length的整數(shù)內(nèi)容調(diào)用disData并去除首尾不必要空格
PicCross(Index).ToolTipText = "軸向:" + Format(Val(Text8(Index).Text) * length / 50, "00.0") + " 徑向:" + Format(alpha, "00.0") + " 溫度:" + Trim(disData(Index, Int(Text8(Index).Text * 50 / length), Int(alpha / 9)))
'當(dāng)radius小于350時(shí)
Else
'PicCross控件集的第Index控件的ToolTipText(小提示屬性)等于 空
PicCross(Index).ToolTipText = ""
End If
End Sub
'控件PicShow雙擊事件
Private Sub PicShow_DblClick(Index As Integer)
'當(dāng)出現(xiàn)錯(cuò)誤是跳至下一行(即忽略錯(cuò)誤)
On Error Resume Next
絕對值是“|”,可以直接顯示,同理對數(shù)可用log(x)代替,根號和其他不支持顯示。
如果要顯示數(shù)學(xué)式子,只能畫吧。
計(jì)算時(shí)可用“^”求冪或求根,“/”表示除法和分?jǐn)?shù)線,還有math類。
當(dāng)前名稱:vb點(diǎn)虐
根號 vb平方根代碼
URL鏈接:http://chinadenli.net/article42/ddgcohc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、做網(wǎng)站、服務(wù)器托管、Google、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)