正文
vb.net不能拖动窗体 vb窗体滚动条怎么设置
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
如何在VB.NET中限制窗体移动
VB中就有呀叫MDI窗体,你选择“工程—添加MDI窗体”就可以了,然后把你刚刚的FORM1窗体设为MDI的子窗体就在它的属性里MDIChild设为True就可以了
vb6.0 控件在窗体对象中无法拖动是怎么回事?
应该是你vb.net不能拖动窗体的代码的问题,如果代码中有死循环部分或其vb.net不能拖动窗体他原因就会导致
这种状况
VB中如何使程序运行时窗口不能通过拖动改变大小,但是能最小化?
解决办法分三步:
一、窗体属性设置:BorderStyle=2,MaxButton=False
二、在窗体代码区复制下面代码:
Option Explicit
Private Sub Form_Load()
lockform Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unlockform
End Sub
三、建立一个模块,复制下面代码
Option Explicit
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Type PointAPI
X As Long
Y As Long
End Type
Private Type MINMAXINFO
ptReserved As PointAPI
ptMaxSize As PointAPI
ptMaxPosition As PointAPI
ptMinTrackSize As PointAPI
ptMaxTrackSize As PointAPI
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal ByteLen As Long)
Private Const WM_GETMINMAXINFO = H24
Private Const GWL_WNDPROC = (-4)
Dim OldProc
Dim mhWnd, mkd As Long, mgd As Long
' 锁定窗体边界
Sub lockform(nhWnd As Form) '锁定
If OldProc 0 Then Exit Sub
mhWnd = nhWnd.hwnd
mgd = nhWnd.Height / Screen.TwipsPerPixelY
mkd = nhWnd.Width / Screen.TwipsPerPixelX
OldProc = SetWindowLong(mhWnd, GWL_WNDPROC, AddressOf WinProc)
End Sub
Sub Unlockform() '解除锁定
If OldProc = 0 Then Exit Sub
SetWindowLong mhWnd, GWL_WNDPROC, OldProc
OldProc = 0
End Sub
Function WinProc(ByVal hwnd, ByVal wMsg, _
ByVal wParam, ByVal lParam)
Select Case wMsg
Case WM_GETMINMAXINFO
Dim MinMax As MINMAXINFO
CopyMemory MinMax, ByVal lParam, Len(MinMax)
MinMax.ptMinTrackSize.X = mkd
MinMax.ptMinTrackSize.Y = mgd
MinMax.ptMaxTrackSize.X = mkd
MinMax.ptMaxTrackSize.Y = mgd
CopyMemory ByVal lParam, MinMax, Len(MinMax)
WinProc = 1
Exit Function
End Select
WinProc = CallWindowProc(OldProc, hwnd, wMsg, wParam, lParam)
End Function
四、运行程序,OK!
vb.net 多线程 执行数据处理和窗体拖动
虽然你的想法是在 LoginBtn_Click 事件中将复杂的操作分离出去以减轻UI的负担, 这很好完全没有问题.
但是问题在于 Me.Invoke(dh)这里,若是ChkLogin里面仍然是大规模的操作呢 你的代码就又变成将很复杂的操作扔给了UI, 当然会出现窗体无法拖动的情况了.
解决办法很简单, 很多种. 将ChkLogin()里的操作直接放在DelegateLogin()里面吧 me.invoke仅仅只是做简单的轻量的刷新之类的操作就好了.
希望能帮上你的忙.
vb 如何设计窗体大小不能拖动
Form1.BorderStyle = 1
BorderStyle 属性
vbFixedSingle 1 固定单边框。可以包含控制菜单框,标题栏,“最大化”按钮,和“最小化”按钮。只有使用最大化和最小化按钮才能改变大小。
2为sizeable
vbFixedDouble 3 固定对话框。可以包含控制菜单框和标题栏,不能包含最大化和最小化按钮,不能改变尺寸
=======================================
给你个简单的方法
把MaxButton改为False
Private Sub Form_Resize()
Static i As Integer
If i 0 Then MsgBox "不可改变窗体大小"
i = i + 1
End Sub
VB.net怎么实现运行时鼠标拖动改变控件的大小啊
控件是可以显示在里面的,你只要加个label,把label的属性设为visualble=fause就行。设置鼠标经过头像的mouseHover和mouseLeave事件,当mouseHover时label的属性visualble=true,当mouseLeave时label的属性visualble=fause即可。窗体的鼠标事件可以设置控件的cursor属性,里面可以选择许多种鼠标图形。 只要是正常的Form都可以改变窗体大小,但是无边框的窗体只能用函数改变或者设置属性,在debug后是不能改变的。拖动窗体需要在窗体的load时间里面写入当鼠标单击不放时的事件即可,不难。
关于vb.net不能拖动窗体和vb窗体滚动条怎么设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。