问题标签 [modeless]
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.
c# - 我无法在无模式框中添加对话框
我想创建一个无模式框,但无法在框中添加对话框或消息。现在这就是我所拥有的,.Text
它显示为框顶部栏中的标题。
tfs - TFS 以编程方式打开“解决冲突”窗口
我正在使用具有合并变更集选项的 VS 扩展。如果检测到冲突,此扩展会打开“解决冲突”窗口,允许我选择“自动合并”(禁用)、“在合并工具中合并”、“获取源”、“获取目标”等。
问题是窗口是模态的。因此,如果我想在默认合并工具中查看合并,它会将比较作为“解决冲突”窗口后面的选项卡式窗口打开。
打开解决冲突窗口的代码是这样的:
你们能帮我以非模式方式打开“解决冲突”窗口,以便我可以与合并比较工具进行交互吗?
亲切的问候, Asser Fahrenholz
c# - C# 将模态形式转换为无模态
我有一个模态表单,但我需要将其更改为无模态。该表单的目的是接收用户输入,单击“确定”或“取消”,然后以相同的方法继续执行更多功能。我知道我发现的消息来源只是将 form.ShowDialog() 更改为 form.Show(),但我遇到了麻烦。当我将其更改为 form.Show() 时,代码会继续被命中,并且在整个方法被命中之前不会弹出对话框。如何打开表单并在我拥有的一种方法中处理它?
对不起,如果这措辞不好,仍在尝试用 C# 掌握概念!谢谢!
c# - C# 从无模式表单传递值
我目前正在将我的模式形式更改为无模式。模态表单位于方法的开头,我在此方法中使用了表单中的值。现在我将其更改为无模式,我将其设置为打开表单,然后在关闭的事件中调用该方法。但我的问题是,如何从表单中检索值?由于它已关闭,因此我不能像对话框处于模态时那样使用简单的 form.Value。
非常感谢!
c# - 为什么模式 WPF 窗口会禁用没有共同所有者的无模式窗口?
如果主 WPF 窗口创建了一个没有分配所有者的无模式窗口,然后它创建了一个模式窗口,为什么无模式窗口会被禁用?这是一个说明问题的代码片段。
xml:
后面的代码:
谢谢!
c++ - 从 DialogEx 的派生类调用 AfxGetMainWnd() 返回 NULL
我需要访问主框架的成员,并且可以通过引用进行更改。这是获取主机的免费功能
我在 MFC 应用程序的对话框中调用了上述函数,发现主框架指针为 NULL。
如何访问可以通过引用更改的主框架构件?
提前致谢。
dialog - 按下回车键或退出键时如何防止对话框关闭?
我有一个对话框,我希望保持打开状态,除非单击 [x] 或退出按钮。无论您使用pose() 还是display(),如果您在选择大多数对象(例如字符串框)时按了escape 或按Enter,对话框似乎总是关闭。有没有办法防止这种情况?
发生这种情况的一些公开示例是 DM Mitchell 的“示例:线程和对话框交互”和“示例:单按钮对话框”,但它似乎适用于任何对话框。
例外似乎是一个停靠的调色板,但这个功能在 GMS2.3/GMS3 中似乎相当有限。
要测试的示例代码:
c++ - MFC 强制 CMultiDocTemplate 中的 CFormView 始终保持在顶部
我知道如何强制 CDialog 始终保持在程序中所有其他窗口的顶部......非模态。从下面的测试方法(代码)中可以看出,您不是使用 *.DoModal 创建的。我明白这一点。
但是,我对从 CMultiDocTemplate/CFormView 继承的东西做同样的事情没有成功
问题:有没有办法保持一个 CFormView 填充到顶部的 CMultiDocTemplate 中(在前台......就像非模态 CDialog 的行为一样),即使该窗口不是具有焦点的窗口。所以换句话说,我希望继承自 CFormView 的 classX 始终位于继承自 CView 的 classY 前面。
部分成功:我能够取得部分成功。当 classY 的 OnActivateView 方法被击中时(这是应该在后台的类/窗口),然后,在其 OnActivateView 中,我将遍历所有 classX 对象(我想要在前面的对象)并使用它们将它们带到前面classx->bringToTop(); 这确实有效,但是,闪烁的次数非常可笑......我猜是因为(1)在调用 classY 的 OnActivateView 时,classY 已经被带到所有 classX 对象的前面,并且因为(2) OnActivateView 不只是被调用一次,而是大约六次(不知道为什么这么多次)......每个对象的 OnActivateView 随时被调用任何其他窗口被激活(不仅仅是当你关心的窗口被激活时)。
问题:任何人都可以用更好的方法来实现我所缺少或不知道的这一点吗?我已经尝试过测试 classx->SetWindowPos(&classx->wndTop,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE) 但这没有影响。我猜我在错误的地方使用它,或者它在代码的另一部分被撤消。
excel - 与无模式用户表单相关的模块的 VBA 最佳实践
我遇到了这个类似的问题并阅读了回复:仍然暂停代码执行的无模式表单
我一直试图在我自己的情况下应用David Zemens提供的建议。在我的情况下,如果不使用 GoTo,我似乎无法找到一种结合 Zemen 先生的建议的方法。
我想知道是否有更好或更优雅的解决方案。
这是我正在做的事情的概要:
我有一个带有命令按钮的用户窗体,它开始执行代码,它将在多个 Excel 工作簿上执行多个操作。因此,存在许多代码块,并且一个代码块的成功完成允许执行后续代码块。
在某个时候,根据情况,代码可能需要用户输入;在其他情况下,可以从 Excel 中获得所需的数据。如果需要用户输入,则显示另一个用户窗体。
用户在输入之前可能需要查看几个不同的 Excel 工作表,因此用户窗体是无模式的。因此代码停止,直到用户输入所需的输入并单击另一个命令按钮。
正是在这一点上我遇到了麻烦:如何恢复程序流程。“从中断的地方继续”的唯一方法是使用 GoTo 语句吗?或者是否有某种方法来组织模块,以便有一个一致的程序流程,在一个地方定义,而不是从可能需要用户输入的地方复制?
excel - 可以按下无模式形式的命令按钮吗?(Excel 2010/2016 VBA)
我有一个用于 Excel 的 VBA 宏,可能需要很长时间才能处理。另外,一开始,我打开另一个工作表来获取一些数据。发生这种情况时,屏幕上似乎没有发生任何事情。我有一个无模式的用户表单,我想显示它以指示正在处理。
我想在这个用户窗体上放置一个命令按钮,如果他们选择,用户可以单击它来停止处理。问题是当显示用户窗体时,如果我将光标移到它上面,光标是一个沙漏,单击按钮什么也不做。
有什么建议么?