问题标签 [showdialog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
18066 浏览

wpf - 父窗口后面的 ShowDialog()

我正在使用ShowDialog()withWindowStyle = WindowStyle.SingleBorderWindow;在我的 WPF (MVVM) 应用程序中打开一个模式窗口,但它允许我使用 Windows 任务栏 (Windows 7) 导航到父窗口。

我在这里找到了答案:WPF 和 ShowDialog()但它不适合我,因为我不需要“始终在顶部”工具窗口。

提前致谢

0 投票
2 回答
470 浏览

c# - 使用 showDialog 打开的窗口,TextBlock 显示在窗口下方而不是文本

我有这个奇怪的 wpf 问题。我有一个带有图像的窗口(全屏),如下所示: 在此处输入图像描述

我在这个窗口上用 Showdialog 打开一个新窗口,它不是全屏的(看起来像一个弹出窗口,但它是一个窗口)。代码是这样的:

在打开的窗口中,我使用它来使“弹出窗口”居中:

我得到了这样的东西(我裁剪了它,窗口稍微大了一点): 在此处输入图像描述

文本块的定义如下:

现在我有一个按钮,它可以做到这一点:

但是我得到了这个奇怪的东西,而不是我所期望的(文本会改变): 在此处输入图像描述 如你所见,后窗的图像被轻微显示,而不是我的文本块!

这是怎么回事?请帮忙!

弹出 XAML:

0 投票
2 回答
1362 浏览

c# - 带有 var 内容的 WPF showdialog 文本框

我尝试完成以下工作:

一个 WPF 应用程序,我有多个按钮,您可以在其中设置通知消息。根据按钮,您可以设置不同的消息。

我所做的是在消息按钮上我放了这段代码:

这将打开一个新的 WPF 窗口,这里只有一个文本框和一个退出按钮。在此消息窗口中退出时,它会将消息保存到参数中。

但这是诀窍。我想将此消息窗口用于多个通知,如果应用程序中的字符串上已有任何文本内容,它将在文本框中显示任何文本内容。

例如:在主应用程序中,我有按钮 A 和 B 来设置通知。我点击按钮A,弹出显示对话框,在文本框中已经有“你点击按钮A”如果是按钮B被点击,它应该显示“你点击按钮B”

所以我应该用 ShowDialog 发送一些额外的信息,这样我就可以使用每个消息窗口。有人可以帮我一下吗?

我必须说我觉得很难体面地描述我想要的东西,所以我希望我让自己足够清楚。

编辑所以我想要将字符串参数的内容(确切地说:Properties.Settings.Default.XXX)显示到 Countermessage 窗口中的文本框中

0 投票
2 回答
1188 浏览

c# - Keeping the parent DialogButton open after the child DialogButton is closed

I'm having a problem in keeping the Parent Form to be opened till I close after using ShowDialog() .

I've been trying regarding this but couldn't get. I think there is something simple that I might have been missing. Can you please help me reg this?

The problem is, I have Form 1, on pressing one button, Form 2 opens. I do some validations in Form 2, and check for the validations. If the validation doesn't pass, I open a DialogBox form, with Retry and Cancel. If I press Retry, The control should go back to the Form 2 and form 2 should not close. If the press Cancel, both the DialogBox form and the Form 2 should close. Right now, regardless of what I press, both the forms close.

I have looked online and couldn't find any solution. Went through this solution, but both the forms are still closing for me. Why does closing a nested child dialog also close the parent dialog?

My code:(Sample example scenario)

Form 1:

Form 2:

0 投票
4 回答
272 浏览

c# - showDialog() 无需调用即可显示结果

我有以下代码行来在 MessageBox 中显示一个窗口:

问题是,当我关闭它时,另一个 MessageBox 以trueor开头false,但我从未告诉它这样做。我该如何解决?

这是更相关的代码:

0 投票
5 回答
29855 浏览

c# - 单击确定按钮时防止 ShowDialog() 返回

我有一个对话框,我想阻止单击 OK 按钮时关闭,但它会返回,即使 AcceptButton 属性设置为 none 而不是我的 OK 按钮。阻止它关闭的最佳方法是什么?

0 投票
2 回答
1522 浏览

.net - 停止 ShowDialog 从父窗体移除焦点

我正在开发一个多线程 TDI UI(如果您有兴趣,可以使用 C1 DockingTabs)。到目前为止,我已经设法让每个窗口在单独的线程中打开,并使用 SetParent Win32 API 将其放入相应的选项卡中。我还设法让模态对话框也显示在选项卡中,并且不会阻止其他选项卡工作(通过在对话框表单上的 Shown 事件上添加处理程序以再次调用 SetParent - 一些涉及打开和关闭的摆弄TopLevel 在选项卡内的表单上,但它有效)。

现在,有点烦人的是对话框正在打开,它从 TDI 父窗体中移除焦点,然后焦点立即被放回。如果我在显示之前调用 SetParent,我只会得到一个异常,因为在具有父级的表单上不能有模式对话框。我已经设法绕过窗口动画滑动/淡入淡出,方法是给它一个 0,0 的大小,直到它在选项卡内,但我不知道如何停止焦点闪烁并重新回到主要父窗体。

我想有两种可能的方法:

  1. 禁用窗口效果,使其看起来失去焦点(可能阻止窗口消息?)
  2. 实际上真的阻止它失去焦点

我很欣赏这是一个不寻常的查询,非常高兴得到任何帮助!


编辑:

为了澄清练习中的要点 - 我有一个基于选项卡的 UI,其中每个选项卡实际上是独立的。我收到最终用户的投诉,每次调用 ShowDialog 时,它都会阻止整个应用程序,而不仅仅是一个选项卡。我能看到解决这个问题的唯一方法(缺少像 Google Chrome 这样的多进程)是给每个选项卡一个单独的 UI 线程并在选项卡内加载对话框,以便用户仍然可以访问其他选项卡。我已经设法在某种程度上消除了一些 hackiness 并且现在解决了大部分问题(只是玩了更多)。实际上,我已经设法通过阻止主窗体上的 WM_NCACTIVATE 消息来解决我提出的问题,尽管这有点混乱,因为现在它从未显示为已停用。我想我 必须检测激活的表单是否是该表单的子对话框,以决定是否激活。我也有一些闪烁要尝试解决,但它看起来好多了。我会发布代码,但是涉及 3 种表单,因此上传项目太短了,会有点混乱。如果有人好奇,我会看看我是否可以减少它?

我目前只是在使用它作为概念证明——如果我让它工作,那么我需要将它改装到我现有的应用程序中,这才是真正有趣的开始!我有一个控制 TDI 方面的框架,所以从这方面来说它应该是相当简单的。真正的噩梦将是审计整个事情以解决不同线程之间可能存在的同步问题,因为有一些共享资源本质上不是线程安全的。

0 投票
1 回答
3359 浏览

.net - 如何在没有 ShowDialog() 的情况下等待表单关闭?

在我的程序中,我使用 WebBrowser 控件进行 OAuth。它位于vk_auth_window表格上。所以在我调用的代码中vk_auth_window.WebBrowser1.Navigate(vkauthurl)。如果身份验证成功,我会默默地获取令牌,但如果用户未通过身份验证,vk_auth_window则会向他们显示一个表单以输入用户名和密码。要检查这一点,我会捕获 _DocumentComplete 事件并检查正确的 URL。在用户完成身份验证或关闭身份验证表单之前,我不需要执行其他代码。ShowDialog() 可以解决问题,但它以某种方式隐藏了 WebBrowser 控件中用户名和密码字段的光标。因此,我在 _DocumenComplete 事件中引入了一个变量Dim showform as Boolean=True并将其设置为 False,并且在主代码中我使用了无限循环。

但是,由于线程休眠,它会使用户输入变慢。如果我删除它们,它会大量加载 CPU。有没有更好的方法来等待表单关闭?它是什么?

0 投票
1 回答
284 浏览

wpf - WPF 阻止使用所有者窗口

我正在使用带有 C# 的 WPF。我有一个全屏的窗口。在这个窗口上,我打开一个对话框。我的对话框只是另一个设计不同且以该所有者为中心的窗口。

在第一个对话框中,我有一个按钮可以关闭此对话框但会打开另一个对话框。我是这样实现的:

不管第一个对话框是用 Show 还是 ShowDialog 调用的,第二个对话框都不是 TopMost,也就是说后面显示的我的主窗口是可以点击的。

我得到的是,当此对话框以主窗口为中心打开时,用户可以单击主窗口上暴露的后按钮(对话框未覆盖)。

我怎样才能阻止这种情况发生?

0 投票
1 回答
777 浏览

c# - Form.ShowDialog 在循环中运行时只打开一次

我有一个 Form1,当我运行一个循环时,我需要打开另一个表单(Form2)。问题是,当我运行循环时,它仅第一次显示 Form2,然后 Form2 会自动打开和关闭。

为了探测它,我编写了这个简单的代码,但它不起作用:

在表格 2 中:

谢谢你的帮助!