5
|
Fredou · 技术社区 · 14 年前 |
1
4
这是不可能的。我真的申请了 bug report 在微软的反馈网站上,但他们却向我大发雷霆。 无可否认,这是一个需要解决的棘手问题,更改属性需要windows窗体从头开始重新创建窗口,因为它由一个样式标志控制。您只能在 CreateWindowEx() 使用dwexStyle参数调用。根据showDialog()方法调用的要求,重新创建窗口很难使其保持模态。 windows窗体可以绕过许多user32限制。但不是那个。 |
2
2
通过在showDialog()之前将showintaskBar设置为false来保持打开状态;
或者不要让第二种形式成为模态。这同样有效。
我不知道这里的具体机制,但很明显,更改标志(实际上更改了一个或多个ws-ex-xxx窗口样式)会导致showDialog()的模式泵退出。这反过来又使你(终于!)退出form1_加载,然后您的新窗体超出范围并被销毁。 因此,您的问题是showDialog()的组合,而且您还没有准备好让showDialog()退出。 现在一个for的模式不应该首先出现任务栏图标,对于一个应用程序,应该只有一个任务栏图标 全部的 因为当一个模态窗体运行时,主窗体无论如何都是禁用的。当主窗体最小化时,它所拥有的所有模态窗体都将被隐藏,等等。 因此,如果您真的希望第二个表单是模态的,就不应该让用户能够给它一个任务栏图标。如果使用showDialog()只是测试代码,那么不用担心。当窗体在主应用程序泵上运行时,问题将消失。 |
3
0
你的问题我不太清楚。不管怎样,
如果您希望以允许用户同时使用这两个窗体的方式显示更多窗体,则需要使用无模式对话框。这里是一个 good overview article on MSDN . |
4
0
怎样。。。我的…这是一个丑陋的黑客 这项工作
|
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |