- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这些表格:
主屏幕 - MDI 容器
DataBaseOutput - 子
新动漫 - child
DataBaseOutput 有一个包含数据网格的选项卡控件,每个数据网格用于不同的表。我使用访问数据库。
在这些选项卡中,有一个菜单条,其中将调用“新建”、“编辑”、“删除”等功能。现在,当我在第一个选项卡的菜单条上并单击“新建”时,我想在 MDI 容器内打开“NewAnime”表单。然而,这并没有像我计划的那样工作。起初我试图从子窗体 (DataBaseOutput) 调用它。这导致打开一个新表单而不是一个 child 。当我把它变成 child 时,它没有出现。
然后我试了很多东西,但我还是没弄明白。
这是调用表单的当前代码。它使用主窗体中的方法调用窗体:
private void NewAnime_Click(object sender, EventArgs e)
{
MainScreen main = new MainScreen();
main.mShowForm(2);
this.Close();
}
主窗体中的方法:
// Forms for MDI Parent
DataBaseOutput OutputForm = new DataBaseOutput();
NewAnime AddAnime = new NewAnime();
// How i made them childs (this is at the InitializeComponent(); part)
OutputForm.MdiParent = this;
AddAnime.MdiParent = this;
public void mShowForm(int formnumber)
{
switch (formnumber)
{
case 1: OutputForm.Show(); break;
case 2: AddAnime.Show(); break;
}
}
有没有人知道我做错了什么,也许有更好的主意?这可能有点太多变通了,但正如我所说,这是我第一次使用 MDI 表单,我只是想让它工作。
最佳答案
您是否已将 MainForm
设置为 MDIContainer
?为此设置其 IsMdiContainer属性为真;还要检查它是否具有 File
和 Window
顶级菜单项以及 New
和 Close
菜单项。 (教程建议这样做,我知道它至少应该有一个 Window
菜单项)。
查看本教程以获得更多指导:Creating MDI Child Forms (MSDN)
编辑:仔细观察,您似乎正在创建 MainForm 的新实例,并试图将表单显示为该实例的子实例,而不是在现有实例中显示它主窗体。我假设此时您已经打开了一个 MainForm 实例?假设 OutputForm 和 AddAnime 表单是 MainForm 的子表单,您可以像这样调用现有实例的方法:
private void NewAnime_Click(object sender, EventArgs e)
{
this.ParentForm.mShowForm(2);
this.Close();
}
但理想情况下,您应该在 DataBaseOutput 上有一个 MainForm 监听的事件,并在引发该事件时显示新的 Form。请参阅此处了解更多信息(它讨论的是用户控件而不是子窗体,但原理是相同的):
关于C# 从子窗体调用 MDI 子窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5471343/
对于一个科学实验,我写了一个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
我是一名优秀的程序员,十分优秀!