【发布时间】:2012-11-19 10:36:21
【问题描述】:
我有一个控制台应用程序,它在其控制台上显示最新的活动和状态。该应用程序具有大量线程,性能是主要关注点。不需要用户交互。由于最近的一个案例,我被要求将其迁移到 win 表单应用程序。
初始帖子-> How to programmatic disable C# Console Application's Quick Edit mode?
所以为了遇到这个问题,我使用了 Application.Run(ApplicationContext context) 在我的控制台应用程序中启动一个消息循环,以便我可以挂钩和捕获鼠标事件,并可以在运行时重置快速编辑模式。我还删除了右键单击时出现的控制台默认菜单项“编辑”,因此不允许用户标记/复制/粘贴。
我想知道最佳解决方案应该是什么,迁移到 win 表单或控制台应用程序(考虑到我所做的更改)。此外,我每次都需要调用 Invoke 以便将任务放入 UI 的队列中,以便在迁移到 winform 时打印消息。
【问题讨论】:
-
我说得对吗?迁移到 Winforms 的唯一原因是您想防止用户干扰输出?因此,您向应用程序添加 GUI 是因为您真的不想要一个?听起来有线。
-
完全正确!! :) 发生过一次,我们的应用程序处于活动状态,并且控制台由于进入快速编辑模式而停止。
标签: c# winforms console mouseevent