我的程序中有一个功能,用户可以在其中制作主表单的屏幕转储。为此,用户必须从菜单中选择 File | 采取屏幕转储。这行得通。但是,在进行屏幕转储时,下拉菜单保持打开状态并部分可见。不过,其他一些控件位于其之上。如何确保在截取屏幕截图之前关闭下拉菜单?
我试图在菜单和菜单项上都包含 HideDropDown() ,但都没有帮助。我什至试图让整个菜单不可见,但也没有运气。
private void toolStripMenuItem_screenDumpProgram_Click(object sender, EventArgs e)
{
... HideDropDown() ... various tests
Bitmap screendump = new Bitmap(Width, Height);
Graphics gfx = Graphics.FromImage(screendump);
gfx.CopyFromScreen(Location, Point.Empty, Size);
screendump.Save("MyScreenshot.png", ImageFormat.Png);
}
任何想法如何避免这个问题?