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

C# 关于类向窗体传值

类(dll)工程 
类 

启动事件() 

事件.调用的函数(被调的函数) 


被调的函数() 

返回 AL //Al里的值不是固定的 



窗体(From)工程 

From 调用 启动事件() 

问:窗体调用(启动事件)后 事件一旦触发 被调函数里的AL参数如何传给窗体? 
事件触发不止是一次的 在dll实现什么 窗体才时时的接受到AL里的值呢?
--------------------编程问答-------------------- 问题补充:
就是 窗体 调用 启动事件(我这里写的是一个监控) 后
一旦触发这个 监控事件 AL里的值就要在次传到 窗体;
请问要如何实现呢??? --------------------编程问答-------------------- 看看这个,类似的传值:

http://topic.csdn.net/t/20041027/19/3497195.html --------------------编程问答-------------------- Should use delegate.
'Windows Form 
Imports ClassLibrary2
Public Class Form1
    Inherits System.Windows.Forms.Form
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As  System.EventArgs) Handles Button1.Click
        Dim delReturnValue As New ReturnValue(AddressOf ReturnValueHandler)
        Dim objC As New Class1
        objC.DoTask(delReturnValue)
    End Sub

    Private Function ReturnValueHandler(ByVal value As String)
        MessageBox.Show(value)
    End Function
End Class

'DLL 
Public Delegate Function ReturnValue(ByVal value As String)
 
Public Class Class1

    Public Function DoTask(ByVal ReturnValueHandler As ReturnValue)
        'Do some task here
        ReturnValueHandler.Invoke("A")

    End Function
End Class --------------------编程问答-------------------- msdn 看看异步调用
--------------------编程问答-------------------- up --------------------编程问答-------------------- 接分~ --------------------编程问答-------------------- 看你的需要,采用下面这2种方法中的一种。

1、把AL的返回值写在dll类的一个List变量里。
   Form窗体只在需要的时候去读List。

2、如果这个AL返回值需要Form马上处理,使用delegate回调Form的处理函数,
   把AL作为回调函数的传入参数。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,