首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用UI委托会导致隐藏UI

调用UI委托会导致隐藏UI
EN

Stack Overflow用户
提问于 2009-10-25 13:48:17
回答 2查看 339关注 0票数 1

假设我有线程1,主窗口UI线程和线程2,登录UI线程是模态表单。

现在线程1执行了一段代码,并想要更改登录表单中的UI元素,因此它调用了一个委托来更改线程2中的某些内容。但是当它这样做时,登录表单将隐藏在主窗口后面,并且我没有办法将其带回来。在任务栏上选择它不会执行任何操作,并且在调用的方法末尾写入"Activate()“也不会执行任何操作。

如何防止线程2的UI被隐藏?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-25 13:56:13

调用之后,在登录表单上调用Focus()以更新主窗口。此外,将登录表单的父窗口设置为显示它时的主窗口也会有所帮助。

(在主UI类中)

代码语言:javascript
复制
using (YourLoginForm f = new YourLoginForm()){

    YourLoginForm.Show(this)
}

另一种方法可能是使用ShowDialog()而不是Show(),并让您的登录表单根据登录是否成功返回不同的DialogResult。ShowDialog()应该自动将您的登录表单设置为模式并具有焦点。

票数 5
EN

Stack Overflow用户

发布于 2009-10-25 14:16:55

哇..。自己人。k,消失的第二个窗口的事情不是问题

但评论中的问题仍然存在……当我在第二个线程中执行ShowDialog时,如何防止新窗口独立于主窗口运行?我不想让用户最小化主窗口,因为它在第二个窗口后面。如果另一个程序出现在顶部并隐藏了所有内容,则在任务栏中单击主窗口的图标必须显示第二个窗口,依此类推

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1620120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档