VB.NET跨线程操作控件
最简单的方法是
专注于为中小企业提供网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业乳源免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Control.CheckForIllegalCrossThreadCalls = False'加入这句代码就可以在别的线程访问窗体控件了
End Sub
vb.net在module里如何使用线程修改Form中控件的属性值
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
Dim MyThread As New Threading.Thread(AddressOf c)
MyThread.Start()
End Sub
Private Sub c()
Dim d As New MethodInvoker(AddressOf a)
Me.Invoke(d)
End Sub
如何轻松调整VB.NET控件
Anchor属性可以被设定为Top Bottom Left和Right的任何组合 默认设置是Top Left 这可以保持控件的top left角与视窗边框具有相同的相对位置 设置Anchor属性为Top and Bottom可以垂直地调整控件 保证从视窗底部到控件底部距离相同
Me TextBox Anchor = (System Windows Forms AnchorStyles Top Or System Windows Forms AnchorStyles Left)
Dock属性
这个属性可以被设置为Top Bottom Left Right或Fill 将其设置为Top Bottom Left或Right可以使控件紧挨指定的视窗边缘 或者紧挨已放置到相应视窗边缘的其他控件 设置Dock属性为Fill可以使控件调整为充满视窗的整个客户区
Me Panel Dock = System Windows Forms DockStyle Bottom
你还可以使用DockPadding对象来设置填充视窗边框和已放置好的控件间的区域 它有对应每个视窗边框的属性 如果想要边框对每个边都一致也可以通过设置All属性实现
Me DockPadding All = lishixinzhi/Article/program/net/201311/14503
VB.net可以多线程控制同一个窗体及其控件吗
不可以,但是能够在主线程的基础上调用委托(Invoke)。(主线程会被占用)
例子:
Dim thr As Threading.Thread
Public Delegate Sub VoidDelegate()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
thr = New Threading.Thread(AddressOf Where)
thr.Start()
End Sub
Public Sub Where()
Me.BeginInvoke(New VoidDelegate(AddressOf WhereThr))
End Sub
Public Sub WhereThr()
Me.TextBox.text="0123456789"
End Sub
(Invoke)这种情况下,主线程被占用,所有由主线程执行程序,都将被(wherethr函数执行结束)后执行。
网站栏目:vb.net线程更改控件 vbnet可以动态增加线程吗
文章分享:http://scgulin.cn/article/dojicjp.html