- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Microsoft Excel 中创建了一个“工作簿”,并插入了三个具有以下内容的用户窗体
姓名:
我在“Workbook_Open”事件中编写了代码,以便当我打开我的“MainForm”时显示
工作簿。我写的代码如下:
Private Sub Workbook_Open()
MainForm.Show
End Sub
我的“MainForm”包含两个按钮:1. 打开FirstForm命令按钮2. OpenSecondFormCommandButton
每个按钮都有一个点击事件,其中“MainForm”隐藏以及相应的
用户表单显示。
“MainForm”上的“OpenFirstFormCommandButton”CommandButton 的单击事件
如下:
Private Sub OpenFirstFormCommandButton_Click()
MainForm.Hide
FirstForm.Show
End Sub
当触发“OpenFirstFormCommandButton_Click”事件时,“MainForm”隐藏,
显示“FirstForm”。
“OpenSecondFormCommandButton”CommandButton 的点击事件
“MainForm”如下:
Private Sub OpenSecondFormCommandButton_Click()
MainForm.Hide
SecondForm.Show
End Sub
当“OpenSecondFormCommandButton_Click”事件被触发时,“MainForm”隐藏并
显示“SecondForm”。
到目前为止一切顺利。这就是为“MainForm”编写的所有代码。
现在让我们看看为“FirstForm”和“SecondForm”编写的代码。
“FirstForm”包含代码,仅适用于“UserForm_QueryClose”事件,该事件在
中触发我们尝试通过右上角出现的“X”按钮关闭表单
“FirstForm”表单。代码如下:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
FirstForm.Hide
MainForm.Show
End Sub
“UserForm_QueryClose”事件的目标是隐藏“FirstForm”并显示
“主窗体”。
“SecondForm”包含与“FirstForm”完全相同的逻辑。因此,唯一的代码是
“SecondForm”位于“UserForm_QueryClose”事件中,如下所示:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
SecondForm.Hide
MainForm.Show
End Sub
这就是我们所有的代码。
很明显,我试图有一个主窗体,我可以从中打开其他窗体,并且如果我关闭这些其他窗体,我想返回到我的主窗体。这实际上是代码应该做的,但不幸的是,代码的行为有点有趣。
当我打开工作簿时,“MainForm”会按预期打开,因为我在“Workbook_Open”事件中编写了此类代码。当我单击“OpenFirstFormCommandButton”命令按钮时,“FirstForm”显示,而“MainForm”隐藏,这也是绝对正常的行为。然后我单击“FirstForm”右上角的“X”按钮,结果“FirstForm”隐藏,“MainForm”显示。到目前为止没有有趣的行为。当我第二次单击“MainForm”上的“OpenFirstFormCommandButton”命令按钮时,情况有所不同。 “FirstForm”显示,“MainForm”隐藏,这是正常的。当我尝试单击“FirstForm”的“X”按钮(第二次)时,“FirstForm”不会隐藏,“MainForm”也不会显示,尽管“UserForm_QueryClose”事件中有代码,其中正是这样做的。
第一个问题是,我该如何克服这个问题?第二个问题是,为什么代码被停用了?为什么代码不运行?
如果您遇到过这个问题,或者您有任何解决办法,请给我留言。
提前谢谢您。
最佳答案
你让窗口管理器感到困惑。
默认.Show()
以模态方式显示一个表单(也就是说,必须存在另一个相对于该表单将是模态的表单)。在您的循环设置中,这效果不佳。
将所有表单中的所有 .Show
替换为 .Show vbModeless
。
顺便说一句,您没有“正确关闭表单”。它们仍然加载在内存中,只是不可见。
关于excel - 如何在 Excel 中的 VBA 中正确关闭用户窗体,以便在必要时可以重新打开它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33059512/
对于一个科学实验,我写了一个turtle.py ,它会打开一个 800x480 的窗口并绘制一个缓慢增长的黑点。 turtle.py以 C:\Users\kaza>python C:\Users\ka
我开发了一个 swing 应用程序,但每次运行应用程序时都会打开一个新窗口。我希望如果一个窗口已经打开,则其他窗口不允许打开。 最佳答案 Here是一个 Java 单一应用实例的例子: A singl
有没有办法检测主进程中 Electron 的结构? process.platform 似乎也在 x64 机器上返回 win32,我没有在文档中找到任何获取架构的选项。 最佳答案 你试过 process
public short[] HanningWindow(short[] signal_in ,int pos ,int size) { for (int i= pos; i < pos+si
我有一个具有这些属性的 Electron 窗口: mainWindow = new BrowserWindow({ width: 800, height: 600, title: "Aqu
我有一个 Ubuntu 工作站,我正在尝试引导一个 Windows 节点。 Windows 节点在端口 2222 上打开了 ssh。我一直在关注 http://docs.opscode.com/plu
我是一名优秀的程序员,十分优秀!