VB.Net学习笔记(二)

本文详细介绍了在程序中如何通过代码实现窗口控件的拖动功能,包括鼠标事件监听和窗口大小调整,并展示了如何遍历窗口内的所有控件,包括容器内部的子控件,同时提供了获取MDI窗体工作区大小的方法以及调用字体对话框的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值