具有多个命令提示符输出的窗体

本文关键字:输出 窗体 命令提示符 | 更新日期: 2023-09-27 18:26:08

我们现在有了一个针对多个数据库运行的命令行应用程序。每个数据库都有一个单独的线程。在这些线程中,应用程序执行一些console.write()。我们希望将这些数据放入带有选项卡的表单应用程序中,每个选项卡都有不同的数据库(和线程)。

是否可以将console.write()输出到特定的选项卡,以便我们知道哪个数据库输出了代码,或者我们需要重写所有代码?我们不能这样做,因为代码在多个地方使用。

具有多个命令提示符输出的窗体

根据您当前将输出与逻辑隔离的程度,您可以在一定程度上保留原始应用程序的一层,只重写输出部分(有效地,按照您刚才的建议:将command.write()转储到表单)。

我相信你想要的是每个选项卡中的多行文本框,它们只显示日志输出,对吗?

您可以用类似于此扩展方法的东西替换command.write()来帮助您。您只需传入正确的文本框控件,然后给它一行日志,它就会将其添加到文本框中。

现在需要解决的一件事是,在GUI驱动的应用程序中,您不应该简单地在主线程上阻塞/等待数据库内容,否则它将变得没有响应。因此,请确保将逻辑转移到其他地方。

如何启动程序?你可以创建一个应用程序,为每个程序运行一个"进程"实例,并重定向输出。如果您进行异步操作,那么应该可以捕获所有输出。