1、 拖动窗口控件代码
Dim whetherSelected AsBoolean = False
Dim p As Point = New Point()
PrivateSub MouseUp1(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs)
whetherSelected = False
EndSub
PrivateSub MouseDown1(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs)
whetherSelected = True
p.X = Cursor.Position.X
p.Y = Cursor.Position.Y
EndSub
PrivateSub MouseMove1(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs)
If whetherSelected Then
sender.Left = sender.Left + (Cursor.Position.X - p.X)
sender.Top = sender.Top + (Cursor.Position.Y - p.Y)
sender.SendToBack()
p.X = Cursor.Position.X
p.Y = Cursor.Position.Y
EndIf
EndSub
2、 窗口控件遍历代码
PublicSub IterateThroughControls(ByVal parent As Control)
ForEach c As Control In parent.Controls
AddHandler c.MouseUp, AddressOf MouseUp1
AddHandler c.MouseMove, AddressOf MouseMove1
AddHandler c.MouseDown, AddressOf MouseDown1
'MessageBox.Show(c.ToString())
If c.HasChildren Then
'利用递归实现容器子控件的访问
IterateThroughControls(c)
EndIf
Next
EndSub
此函数实现窗口所有控件(包括容器内的)遍历,且添加系统事件(up、move、down)。
3、 MDI窗体工作区的大小
可通过MDICLIENT来获取,代码——
Dim ih AsInteger
Dim mm AsNew MdiClient
mm.Parent = lform
ih = mm.Height
mm.Dispose()——务必DISPOSE!!
4、 调用字体对话框
Dim myFontDialog AsNew FontDialog
Dim myFont As Font
If myFontDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
myFont = myFontDialog.Font
End If