gpt4 book ai didi

.net - 调用 UI 委托(delegate)会导致 UI 被隐藏

转载 作者:行者123 更新时间:2023-12-03 13:16:29 32 4
gpt4 key购买 nike

假设我有线程 1,主窗口 UI 线程和线程 2,一个模式形式的登录 UI 线程。

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

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

谢谢

最佳答案

调用 Focus()在您调用更新主窗口后,在您的登录表单上。此外,当您显示登录表单时,将其父窗口设置为主窗口可能会有所帮助。

(在您的主 UI 类中)

using (YourLoginForm f = new YourLoginForm()){

YourLoginForm.Show(this)
}

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

关于.net - 调用 UI 委托(delegate)会导致 UI 被隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1620120/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com