当前位置:编程学习 > C#/ASP.NET >>

一星期了,终于稍微明白点了怎么托管,怎么对窗体控件进行线程安全调用

接触vb.net一星期了,
现在终于稍微明白点了怎么进行托管,
怎么对窗体控件进行线程安全调用
先记下,有空贴代码

比较关键的代码有


'--窗体------------------------------
Public NewThread As Thread

Public Delegate Sub InvokeControl()
Dim _InvokeControl As InvokeControl
......

AddHandler 对象.事件, AddressOf 托管方法
处理方法
_InvokeControl = AddressOf 处理方法

NewThread = New Threading.Thread(New Threading.ThreadStart(AddressOf 类.方法))
NewThread.IsBackground = True '设置当前线程为后台
NewThread.Start()

Sub 处理方法
    With 对象
        .text = "www.i5school.com"
    End With
End Sub

Public Sub 托管方法
    对象.Invoke(_InvokeControl)
End Sub

'--类------------------------------
Public Class 类
    Public Event 事件
    
    Public Sub 方法
        ...
       RaiseEvent 事件    '触发类、窗体或文档中在模块级声明的事件
    End Sub
End Class

注意,委托必须基于类 --------------------编程问答-------------------- 恭喜了 --------------------编程问答-------------------- UP --------------------编程问答-------------------- 恭喜楼主了!以前也给这个问题搞的晕的很。 --------------------编程问答-------------------- up. --------------------编程问答-------------------- 我还没有搞清楚呢。
--------------------编程问答-------------------- !!!!!!!!!!!!!!!!!!!!!!! --------------------编程问答-------------------- UP --------------------编程问答-------------------- ....................... --------------------编程问答-------------------- --------------------编程问答-------------------- study. --------------------编程问答-------------------- 恭喜! --------------------编程问答-------------------- 我还没有搞清楚呢,能详细点吗, --------------------编程问答--------------------
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
    Private Sub botton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles botton1.Click
        Me.Close()
    End Sub

这个就是最简单的托管,是我们最常见的。

窗体的加载事件托管为窗体类的加载事件。

简单举例吧,这样好理解些:
    “我想抽烟,于是托朋友替我买烟。”===>>

Private Sub 朋友买烟(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 我想抽烟
'此处的sender就是我
End Sub

现在明白了吧?哈哈

继续,

    AddHandler 对象.事件, AddressOf 托管方法
     AddHandler 我想.抽烟, AddressOf 朋友买烟

不要把它想的太复杂,想的人性化一点就容易理解并接受了,毕竟程序就是模拟现实世界的所有的。

但往往越是我们习以为常容易忽略的东西,却有着更深的含义,就像牛顿因看到苹果落地继而研究最终发现了万有引力一样。
所以,你是你,我是我,而牛顿是牛顿。
补充:.NET技术 ,  VB.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,