2009年7月17日 星期五

斜率算角度

[轉貼]
1.三角函數是用「角度量」計算角的大小。VB6 是以「弧度量」計算角的大小。
2.「角度」與「弧度」的轉換方法為:角度乘以 pi/180 為弧度;弧度除以 pi/180 是角度。
3.VB 可用 Atn(1)*4 得到一個 Double 型別的 PI 值。

Private Sub Command1_Click()
'-----建立一個 30度、60度、90度的直角三角形-----
dy = Sqr(3) / 2 '--- 二分之根號3
dx = 0.5 '--- 0.5
pi = 4 * Atn(1) '--- 圓周率
斜率 = dy / dx '--- 用 dt_Y 除以 dt_X 求斜率
角度 = Atn(斜率) / (pi / 180)
斜率1 = Tan(角度 * (pi / 180))
Debug.Print "用 dt_Y 除以 dt_X 求斜率 = "; 斜率
Debug.Print "用Atn函數從斜率求角度 = "; 角度
Debug.Print "用Tan函數從角度求斜率 = "; 斜率1
End Sub

2009年6月16日 星期二

AddHandler

For Each c As Control In Me.Controls
If TypeName(c) = "Label" Then
If c.Name.ToString.Substring(0, 3) <> "Not" Then
AddHandler c.MouseDown, AddressOf All_label_MouseDown
AddHandler c.MouseUp, AddressOf All_label_MouseUp
AddHandler c.Click, AddressOf ALL_label_Click
End If
End If
Next
下面是事件處理的部分
Private Sub ALL_label_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim O As Object = CType(sender, Label)
Select Case O.name.ToString
Case Is = "lab0", "lab1", "lab2", "lab3", "lab4", "lab5", "lab6", "lab7","lab8","lab9"
''0~9被按下的處理
Case Is = "labEqu"
''等於的按鈕
Case Is = "labAdd", "labSub", "labMul", "labDiv"
''四則運算處理
Case Is = "labClear"
''清除處理
End Select
End Sub

這樣子就可以一起處理,並且知道是哪一個Label發生Click事件了。
參考資料:http://www.ncis.com.tw/ncis_bbs/viewthread.php?tid=881
參考資料:http://msdn2.microsoft.com/zh-tw/library/kxt4418a(VS.80).aspx