C#在DLL库类工程当中某个函数调用窗口操作返回的数值 100
现在有个需求,在C#库类工程也就是DLL工程当中创建一个function函数,这个函数需要调用本工程下的一个窗口,窗口操作完毕close返回数值给该function获取,...
现在有个需求,在C# 库类工程也就是DLL工程当中创建一个function函数,这个函数需要调用本工程下的一个窗口,窗口操作完毕close返回数值给该function获取,并且将数值返回到最外层调用这个DLL function的第三方软件。
选在要求工作过程不堵塞,窗口结束返回数值,有什么办法。
这里需要使用到窗口的交互性 展开
选在要求工作过程不堵塞,窗口结束返回数值,有什么办法。
这里需要使用到窗口的交互性 展开
1个回答
展开全部
要返回窗口中输入的数值,函数具有延时特征,要用到回调,也就是等待用户在窗口中输入完成后,才通知第三方软件结果,在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值 有什么建议
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询