VB.NET窗体内容很多,会不会导致窗体最小化后在还原时很卡?所谓的“上位机传数据”vb.net窗体激活,是指系统收到端口信息后vb.net窗体激活,触发你代码中相应对象的事件,然后在事件处理代码中把数据写到窗体上的 。不管你内容多少,还原和最小化的运行速度都和上位机本身没有关系,你看很多程序在最小化还原后很卡 , 要么是程序写vb.net窗体激活了很多还原时触发的代码,要么是系统内存不够,把窗体移到虚拟内存(硬盘)里了 。你可以用代码在窗体失去焦点激活的时候(Deactived事件)停止接收数据,还原时(Actived事件)再恢复
如何给VB.NET窗体添加子窗体?直接添加一个MID父窗体或在已有窗体的属性中找到IsMDIContainer属性,然后设置为True , 然后创建第二个窗体,需要加载子窗体的时候:
Dim NewMDIChild As New Form2
NewMDIChild.MdiParent = Me
NewMDIChild.Show()
Public Shared Sub CheckMDIChildForm(ByVal MDIForm As Windows.Forms.Form, ByVal MDIChildForm As Windows.Forms.Form, ByVal MDIChildFormName As String)
If MDIForm.MdiChildren.Length1 Then
'如果没有任何一个MDI子窗体 , 则创该MDI子窗体的窗体实例
Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体
MDIChildFrm.MdiParent = MDIForm '指定父窗体
MDIChildFrm.Show() '打开窗体
Exit Sub
Else
Dim x As Integer
Dim frmyn As Boolean
For x = 0 To (MDIForm.MdiChildren.Length) - 1
Dim tempChild As Windows.Forms.Form = CType(MDIForm.MdiChildren(x), Windows.Forms.Form)
If tempChild.Name = MDIChildFormName Then
'检测到有该MDI子窗体,设为激活 并退出循环
frmyn = True
tempChild.BringToFront()
Exit For
Else
frmyn = False
End If
Next
If Not frmyn Then
'在打开的窗体中没检测到则新建
Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体
MDIChildFrm.MdiParent = MDIForm '指定父窗体
MDIChildFrm.Show() '打开窗体
End If
End If
End Sub
Vb.net中已知某程序的进程id,如果激活该程序并最大化?使用ShowWindow函数,便可轻松控制窗口的显隐,最小化,最大化 。
概述
函数功能:该函数设置指定窗口的显示状态 。
函数原型:BOOL ShowWindow(HWND hWnd, int nCmdShow);
*/第一个参数为句柄,第二个参数选下面的值
#define SW_HIDE0
#define SW_SHOWNORMAL1
#define SW_NORMAL1
#define SW_SHOWMINIMIZED2
#define SW_SHOWMAXIMIZED3
#define SW_MAXIMIZE3
#define SW_SHOWNOACTIVATE4
#define SW_SHOW5
#define SW_MINIMIZE6
#define SW_SHOWMINNOACTIVE7
#define SW_SHOWNA8
#define SW_RESTORE9
#define SW_SHOWDEFAULT10
#define SW_FORCEMINIMIZE11
#define SW_MAX11
参数含义
hWnd:指窗口句柄 。
nCmdShow:指定窗口如何显示 。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略 。否则,在第一次调用ShowWindow函数时,该值应为在函数WinMain中nCmdShow参数 。在随后的调用中,该参数可以为下列值之一:
SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口 , 即使拥有窗口的线程被挂起也会最小化 。在从其他线程最小化窗口时才使用这个参数 。
SW_HIDE:隐藏窗口并激活其他窗口 。
SW_MAXIMIZE:最大化指定的窗口 。
SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口 。
SW_RESTORE:激活并显示窗口 。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置 。在恢复最小化窗口时,应用程序应该指定这个标志 。
SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口 。
SW_SHOWDEFAULT:依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态 , STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的 。
SW_SHOWMAXIMIZED:激活窗口并将其最大化 。
SW_SHOWMINIMIZED:激活窗口并将其最小化 。
SW_SHOWMINNOACTIVATE:窗口最小化,激活窗口仍然维持激活状态 。
SW_SHOWNA:以窗口原来的状态显示窗口 。激活窗口仍然维持激活状态 。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口 。激活窗口仍然维持激活状态 。
SW_SHOWNORMAL:激活并显示一个窗口 。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小 。应用程序在第一次显示窗口的时候应该指定此标志 。
不过顺便说一句 , SendKeys会偶尔造成指令丢失,不可避免 。不管你激活窗口还是最大化窗口或者锁定都没办法完全避免 。
VB.NET点击窗体内按钮窗体不激活Public Class Form1
'声明常量:(释义可参见windows API)
Const WS_EX_NOACTIVATE As Integer = H8000000
'重载Form的CreateParams属性,添加不获取焦点属性值 。
Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or WS_EX_NOACTIVATE
Return cp
End Get
End Property
End Class
VB 调用DLL窗体在
vb.net
中 , 你编好的窗体仅仅是一个类而已,不像
vb6 , 窗体本身就是一个对象 。就是说,如果要显示窗体 , 你需要将你编的窗体类实例化对一个对象,然后再调用这个对象:
dim
frm
as
new
frmdlg
'
将
frmdlg
窗体类实例化为对象
frmfrm.show()
'
将实例化的对象显示出来
vb.net 怎样判断某个窗体是否打开Dim F1 As New Datasystem.Form2'实例化窗体
For Each na As Form In Application.OpenForms '打开窗体的集合
If na.ProductName = F1.ProductName AndAlso na.Name = F1.Name0 Then '判断程序集的产品名称和窗体名称是否已存在打开的窗体中
If na.WindowState = FormWindowState.Minimized Then'判断窗体是否最小化
na.WindowState = FormWindowState.Normal'还原窗体
End If
na.Activate() '激活窗体
Return'返回
【vb.net窗体激活 vb激活窗口】End If
Next
F1.Show()'如果没有打开的窗体中未找到,重新打开窗体
vb.net窗体激活的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于vb激活窗口、vb.net窗体激活的信息别忘了在本站进行查找喔 。
推荐阅读
- go语言框架模板,go语言orm框架
- word2003怎么批注,word2003批注在哪里添加
- 非触屏手机软键盘怎么打开,手机可以在非输入框调出键盘
- linux文件解锁命令 linux 文件锁
- vue.js里面点击新增到新增页面,vue点击按钮添加元素
- 视频号直播音效怎么调整,视频号直播音效怎么调整的
- sqlserver2008mima,sqlserver2008密码修改
- linux查看盘的命令 linux查看系统盘命令
- oracle导出dmp指定表,oracle导出表数据dmp文件