想封装套接口,来实现界面元素的拾取,比如提供一个capture方法,当用户调用后,把方法阻塞,并进行鼠标,操作,等点击完元素后,把点击的元素返回给接口,除了用form.showdialog进行阻塞,还有其他办法吗?
e
string capture()
{
Task.Run(()=>{
//启动定时器,
//捕捉鼠标位置
//根据鼠标位置获取鼠标下的元素;
});
waitForm.ShowDialog();
//等上一个线程拾取动作完成后,关闭waitform,代码走到这里,获取拾取的元素,并返回。
return result;
}
我就想问下,在winform中,既要阻塞方法的执行,又要让界面保持响应,还有其他实现方法吗?
Task[] methodlist = new Task[] { Task.Run(() => { waitForm.ShowDialog();}) };
Task.WhenAny(methodlist).ContinueWith((result)=>{
return result;
});
使用队列或者互斥量或者委托