C#在DLL库类工程当中某个函数调用窗口操作返回的数值 100

现在有个需求,在C#库类工程也就是DLL工程当中创建一个function函数,这个函数需要调用本工程下的一个窗口,窗口操作完毕close返回数值给该function获取,... 现在有个需求,在C# 库类工程也就是DLL工程当中创建一个function函数,这个函数需要调用本工程下的一个窗口,窗口操作完毕close返回数值给该function获取,并且将数值返回到最外层调用这个DLL function的第三方软件。
选在要求工作过程不堵塞,窗口结束返回数值,有什么办法。
这里需要使用到窗口的交互性
展开
 我来答
百度网友d242235
2017-12-26 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:822万
展开全部

要返回窗口中输入的数值,函数具有延时特征,要用到回调,也就是等待用户在窗口中输入完成后,才通知第三方软件结果,在C#中可以通过事件来处理。

public interface IFormInput
{
    void Show();
    event Action<string> InputCompleted;
}

public class FormInput: IFormInput
{
    public void Show()
    {
        Form f = new Form();
        f.FormClosing += F_FormClosing;
    }

    private void F_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (InputCompleted != null)
            InputCompleted("12345");
    }

    public event Action<string> InputCompleted;
}

第三方类库只要注册IFormInput接口的InputCompleted事件,就可以收到模拟数据"12345"了。

追问
第三方其实就是teststand的调用dll的方式    teststand仅只持调用dll里面的一个函数   因此需要在改函数上能够创新窗口并且返回窗口的数值   同时那个创建窗口函数还不能卡死    teststand只支持接收那个函数的反馈    同时teststand还不能注册事件   只能够识别dll的函数   输入数据再接收改函数的return值   有什么建议
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式