重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用api
巢湖ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
Private Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
这样的话你就不要直接把子窗口show出来,先在父窗口创建一个子窗口对象的变量,通过实例化该变量达到创建子窗口的目的,然后在下次又要打开子窗口时也可以通过该变量关闭原有的子窗口
示例代码如下(假设Form1为父窗口,Form2为子窗口):
Form1的代码:
Public
Class
Form1
Dim
nform
As
Form2
=
Nothing
Private
Sub
Button1_Click(ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
Button1.Click
If
nform
IsNot
Nothing
Then
nform.Close()
nform.Dispose()
End
If
nform
=
New
Form2
nform.Show()
Me.Hide()
End
Sub
End
Class
通过nform变量,你可以很轻易就处理掉原来已经打开但隐藏着的子窗口了
我处理这个问题的大概过程,当程序响应DataReceived时:
Private Sub MyCOMM_DataReceived(ByVal sender As Object, ByVal e As
System.IO.Ports.SerialDataReceivedEventArgs) Handles MyCOMM.DataReceived
If IsClosing Then Exit Sub '如果界面正在关闭串口则退出过程
Try
IsListenning = True'设置正在读取标记,供界面操作判断
Wait(150)'等待150毫秒
Dim n As Long = MyCOMM.BytesToRead
Dim buf(n - 1) As Byte
Try
MyCOMM.Read(buf, 0, n)
Catch ex As Exception
MsgBox("接收短信出错", "COMPort.DataReceived")
Throw New System.Exception(ex.Message)
Finally
IsListenning = False'无论接收数据成功与否,都关闭正在读取标记
End Try
MyCOMM.Close()
MyCOMM.Open()
'Do SomeThing
Catch ex As Exception
MyCOMM.Close()
MyCOMM.Open()
End Try
End Sub
Protected Sub Wait(ByVal miliseconds As Integer)
Dim tmpNow As Date = Now
While Now.Subtract(tmpNow).Milliseconds miliseconds
Application.DoEvents()
End While
End Sub
希望能帮的上忙
如果需要等待T2线程结束,那又何必开启这个线程!!
直接:
Label1.Visible = True
setB()
MsgBox("d")
这不就是执行完setB(),再执行MsgBox("d"),多线程是多余的。
多线程的作用大多数也就用来同时执行多任务而不用等待的。
用time控件啊,获取threadstate后,按指定时间间隔规定向界面刷新,线程必须是全局变量
用一个有退出条件的无限循环的sub也行。
线程开始就触发该过程,用无限循环来刷新状态,线程完成即退出无限循环。局部变量的线程也可以用这种方式。
不过用法要正确,否则会出问题。
窗体enalbed的问题
一个A窗体 点一项菜单弹出一个新窗体B
想让B窗体弹出后 A窗体的enabled就变为false
然后B窗体关闭以后 A窗体重新恢复enalbed = true
A窗体里面的菜单响应代码是
dim newframe as new frameB()
newframe.show()
me.enabled = false
此代码可以实现B窗体弹出后 A窗体不能选也不能动
问题是B窗体关闭以后如何恢复A窗体的enalbed的属性
代码应该怎么写 是写在A窗体的代码里面 还是B窗体的代码里面?
B窗体里面怎么修改 A窗体对象的属性?
2
关闭窗体问题
关闭一个窗体的时候,点右上角的X和代码me.colse() 是不是一回事?
要怎么关闭一个窗体才能完全释放内存?
我编的程序在退出后,总是在任务管理器里面还可以看到进程,怎么解决?
3
模块问题
我想把一些所有窗体都会用到的变量 和 函数 放到一个模块里面,比如说modu1.vb。
这些变量和函数是不是要定义成全局的? 怎么定义? 比方说要定义一个字符串要怎么写?
然后,其他的窗体要用到这些变量和函数的是侯,在他们各自窗体的代码里面是不是要加一句话?怎么加?加在什么地方?
更多 0 分享到:
相关主题推荐: 对象 管理 内存 as x
相关帖子推荐:
c# RemObjects.SDK.Serializer 拆箱搞不定,求助网络在线考试系统项目源码亲测sqlserver版本$("#XX")和$(XX)有什么样的区别??宏碁axc-105 2G内存却只有1.44G可用初学java 请帮忙看下多个tomcat启动问题 非端口占用以下执行的js代码中,代码执行完毕,变量得到释放了吗?请问android内存中的shared dirty memory,shared指的是什么啊