2010年6月4日 星期五

WPF 遍歷 與 FindName

Try
'滑鼠水平移動量
Dim dx As Double = e.GetPosition(Me.Canvas_Draw).X - OldPos.X
'滑鼠垂直移動量
Dim dy As Double = e.GetPosition(Me.Canvas_Draw).Y - OldPos.Y
'計算圓半徑
Dim rr As Double = System.Math.Abs(System.Math.Sqrt(dx * dx + dy * dy))

'判定圓名稱是否不存在
If Me.Canvas_Draw.FindName("Cir" + CirNo.ToString()) Is Nothing Then
'建立新圓
Dim Cir As New Ellipse
Dim x1 As Double = OldPos.X - rr
Dim y1 As Double = OldPos.Y - rr
'設定名稱
Cir.SetValue(NameProperty, "Cir" + CirNo.ToString())
'設定圓左邊屬性
Cir.SetValue(Canvas.LeftProperty, x1)
'設定圓上邊屬性
Cir.SetValue(Canvas.TopProperty, y1)
'設定圓寬度屬性
Cir.Width = 2 * rr
'設定圓高度屬性
Cir.Height = 2 * rr
'設定顏色屬性
Cir.Stroke = Ys
'加入繪圖區
Me.Canvas_Draw.Children.Add(Cir)
txtInfo.Text = " 建立圓: Cir" + CirNo.ToString()
Else
'搜尋繪圖區所有元件
For i = 0 To Canvas_Draw.Children.Count - 1
'判定圓是否存在
If Canvas_Draw.Children(i).GetValue(NameProperty) = "Cir" + CirNo.ToString() Then
'改變圓寬度
Canvas_Draw.Children(i).SetValue(Ellipse.WidthProperty, rr)
'改變圓高度
Canvas_Draw.Children(i).SetValue(Ellipse.HeightProperty, rr)
End If
Next
End If
Catch e1 As Exception
'發生錯誤,布林參數設為false
Bcir = False
'圓號碼減一
CirNo = CirNo - 1
End Try

沒有留言:

張貼留言

追蹤者