我正在制作一个WinForms程序,需要使用单独的线程。为了提高可读性和可维护性,我已将所有非GUI代码分成不同的类。该类还“生成”另一个执行某些处理的类。但是,现在我遇到了一个问题,需要从在不同类中启动的线程更改WinForms控件(将字符串附加到文本框)。
我搜索了一下,在不同类中找到了不同线程的解决方案,但两者结合起来的解决方案似乎不兼容(对我来说)。
这可能是最大的“线索”:如何从运行在另一个类中的另一个线程更新UI 类层次结构示例:
我知道事件处理程序可能是解决问题的方法,但在这种情况下我无法弄清楚如何实现(我也欢迎其他建议;)。
任何帮助都将不胜感激。
我搜索了一下,在不同类中找到了不同线程的解决方案,但两者结合起来的解决方案似乎不兼容(对我来说)。
这可能是最大的“线索”:如何从运行在另一个类中的另一个线程更新UI 类层次结构示例:
class WinForm : Form
{
...
Server serv = new Server();
}
// Server is in a different thread to winform
class Server
{
...
ClientConnection = new ClientConnection();
}
// Another new thread is created to run this class
class ClientConnection
{
//Want to modify winform from here
}
我知道事件处理程序可能是解决问题的方法,但在这种情况下我无法弄清楚如何实现(我也欢迎其他建议;)。
任何帮助都将不胜感激。