我在 Parent 窗口中有以下代码。
private void helpToolStripMenuItem_Click(object sender, EventArgs e)
{
Help helpWindow=new Help();
helpWindow.MdiParent = this;
helpWindow.BringToFront();
helpWindow.Show();
}
子窗口代码如下。
public Help()
{
InitializeComponent();
axAcroPDF1.LoadFile(@"D:\sample.pdf");
}
如果我使用上面的代码,我无法在我的子窗口中查看 pdf。但是如果我删除下面的代码 helpWindow.MdiParent = this;
从父窗口,我可以查看 pdf,但它在一个单独的窗口中打开,这不是我的要求。
最佳答案
是否有可能您的帮助窗口只是被父 Form
上的其他控件隐藏了?也许是 Panel
的 DockStyle
为 Fill
?我不相信 BringToFront()
会覆盖父级 Form
的前台控件。
从给定的信息来看,您的 PDF 查看表单的代码似乎没问题,这取决于您所说的“我无法在我的子窗口中查看 pdf。”/p>
无论如何,你可以做这样的事情来查看你的子窗口是否被隐藏:
private void helpToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (Control ctrl in this.Controls)
{
if (!(ctrl is MdiClient))
ctrl.Hide();
}
Help helpWindow=new Help();
helpWindow.MdiParent = this;
helpWindow.FormClosing += helpWindow_FormClosing;
helpWindow.BringToFront();
helpWindow.Show();
}
private void helpWindow_FormClosing(object sender, FormClosingEventArgs e)
{
foreach (Control ctrl in this.Controls)
{
ctrl.Show();
}
}
关于c# - 无法在子窗口中查看 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22345962/