vb.net子窗体最小化 vb中窗体大小怎么设置

VB.NET窗体内容很多,会不会导致窗体最小化后在还原时很卡?不会卡的 , 体一显示已经加载到内存了,所以最小化还原是一定不会卡的
不过窗体内容太多会导致以后修改时查找不方便
建议把不同项目分别写在模块中
关于VB窗口的最大化和最小化看一下BorderStyle的属性:
1.若BorderStyle属性为0,则无论maxbutton和minbutton如何改变,都不会出现最大化 , 最小化和关闭按钮 。
2.当BorderStyle属性为1,则maxbutton属性为true时,最大化可见并可用 。minbutton按钮为true时,最小化按钮可见并可用 。当然属性为false时是不可用,但可见 。
3.当BorderStyle属性为2,若maxbutton和minbutton按钮同为false时,最大化与最小化同为不可用且不可见 。若maxbutton和minbutton按钮任一个为true,另一个为false时,最大化与最小化都可见,但为true属性的可用,false的不可用 。当两者同为true时 , 最大化与最小化皆可见及可用 。
4.当BorderStyle属性为3,无论maxbutton与minbutton属性是什么,最大化与最小化都是不可用及不可用 。
5.当BorderStyle属性为4,同BorderStyle属性为3时 。
6.当BorderStyle属性为5 , 同BorderStyle属性为3时 。
至于text栏中字体的大小可以用设置FONT属性来设置,可在里面设置,字体,大?。?字形与效果 , 还有字符集 。
VB,要使窗体最小化,需用什么代码窗体最小化代码:
Private Sub Command1_Click()
Me.WindowState = 1
【vb.net子窗体最小化 vb中窗体大小怎么设置】End Sub
窗体最大化代码:
Private Sub Command2_Click()
Me.WindowState = 2
End Sub
下列代码用一个按钮完成窗体的最大化或正常设置:
Option Explicit
Dim cmdFlag As Boolean
Private Sub Command1_Click()
If cmdFlag = True Then
Me.WindowState = 0
Command1.Caption = "最大化"
Else
Me.WindowState = 2
Command1.Caption = "正常"
End If
cmdFlag = Not cmdFlag
End Sub
vb如何对指定窗体最大小化操作?因为这里涉及API比较复杂 , 恕我只讲大概:
首先获得该窗体的句柄,然后:
最小化:
CloseWindow 函数
VB声明
Declare Function CloseWindow Lib "user32" Alias "CloseWindow" (ByVal hwnd As Long) As Long
说明
最小化指定的窗口 。窗口不会从内存中清除
参数 类型及说明
hwnd Long,欲最小化的那个窗口的句柄
最大化比较困难……
ShowWindow 函数
VB声明
Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
参数 类型及说明
hwnd Long,窗口句柄 , 要向这个窗口应用由nCmdShow指定的命令
nCmdShowLong
SW_SHOWMAXIMIZED 最大化窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口 , 并将其激活
API对初学者可能比较困难,连我都是直接复制而且只会用几个,里面的常数实在奇怪的可以- -(惭愧)
谨慎……
vb 中实现窗口最小化的代码是什么?要实现窗口最小化必须满足以下条件:
1:按下最小化按钮,窗体不可见
2:最小化后,最小化窗体vb.net子窗体最小化的图标必须出现在任务栏vb.net子窗体最小化的通知区域中
3:当双击通知区域中vb.net子窗体最小化的图标时,窗体又显示出来,同时通知区域中的图标消失.
要满足上面的条件:
1:首先屏蔽窗体中系统自带的最小化图标,即Form.MinButton=False
2:声明1个API函数:
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
注意:上面这个API函数在XP中没有别名,将别名去掉后为:
Public Declare Function Shell_NotifyIcon Lib "shell32.dll"(ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
3:声明7个常数:
Public Const NIM_ADD = H0
Public Const NIM_DELETE = H2
Public Const NIF_ICON = H2
Public Const NIF_MESSAGE = H1
Public Const NIF_TIP = H4
Public Const WM_MOUSEMOVE = H200
Public Const WM_LBUTTONDBLCLK = H203
4:定义1个NOTIFYICONDATA类型
Public Type NOTIFYICONDATA
cbSize as Long
hWnd as Long
uId as Long
uFlags as Long
uCallBackMessage as Long
hIcon as Long
szTip as String
End Type
5:声明一个nid的类型
Public nid as NOTIFYICONDATA
思路清晰后,开始编写代码
1:在窗体中画1个Command,它的Caption属性为:"最小化"
2:将窗体Form的MinButton的属性设为:"False"
3:在窗体中添加1个模块,模块中的代码为:
Public Declare Function Shell_NotifyIcon Lib "shell32.dll"(ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Public Const NIM_ADD = H0
Public Const NIM_DELETE = H2
Public Const NIF_ICON = H2
Public Const NIF_MESSAGE = H1
Public Const NIF_TIP = H4
Public Const WM_MOUSEMOVE = H200
Public Const WM_LBUTTONDBLCLK = H203
Public Type NOTIFYICONDATA
cbSize as Long
hWnd as Long
uId as Long
uFlags as Long
uCallBackMessage as Long
hIcon as Long
szTip as String
End Type
Public nid as NOTIFYICONDATA
4:编写Command的单击事件:
Private Sub Command1_Click()
nid.cbSize = Len(nid)
nid.uId = vbNull
nid.hWnd = Me.hWnd
nid.uFlags = NIF_TIP Or NIF_MESSAGE Or NIF_ICON
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = Me.Icon
nid.szTip = "窗体最小化"
Shell_NotifyIcon NIM_ADD, nid
Me.Hide
End Sub
5:编写窗体的MouseMove事件:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim msg As Long
msg = X / 15
If msg = WM_LBUTTONDBLCLK Then
Me.Show
Shell_NotifyIcon NIM_DELETE, nid
End If
End Sub
按F5启动,单击Command,看看通知区域中是不是多vb.net子窗体最小化了个窗体的图标?双击该图标,窗体又显示出来vb.net子窗体最小化了!
关于vb.net子窗体最小化和vb中窗体大小怎么设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读