【发布时间】:2009-11-03 23:33:31
【问题描述】:
我正在考虑创建一个选项卡式界面,该界面在选项卡式或 MDI 界面中具有用户控件(可能由插件开发人员编写)。这些插件控件可能会无意中冻结它们的 GUI 线程,我希望它们不会影响其他选项卡中的用户控件。就像谷歌浏览器为每个标签创建一个进程一样;但在这种情况下,只是线程。
或者甚至是 MDI 接口,其中子 MDI 表单由不同的线程拥有?
我发现虽然我可以同时运行多个 GUI 线程,但表单级别是它们必须分开的地方。任何解决方法/想法?
对于那些说不需要的人,我称之为废话。出于安全和 UI 原因,Google 的 Chrome 浏览器在单独的进程中运行标签。我只是想复制这种行为。当编写用户控件的人是糟糕的插件开发人员时,这一点很重要。
【问题讨论】:
-
不要让用户控件冻结他们的 GUI 线程。见鬼!
-
freeze their gui thread?你为什么想做这个?是设计使然还是由于限制? -
我认为人们误解了你的意图。我认为您不是在问如何冻结其他选项卡上的用户控件,我认为您是在问如何防止用户控件在您的应用程序忙于处理长时间运行的请求时冻结应用程序。如果这是真的,您可能需要改写您的问题。
-
@senfo:我就是这么想的!
-
谢天谢地,你不能这样做,也没有理由这样做。
标签: c# .net multithreading user-interface