1

我的程序中有一个功能,用户可以在其中制作主表单的屏幕转储。为此,用户必须从菜单中选择 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);
}

任何想法如何避免这个问题?

4

1 回答 1

0

我认为您需要的不是屏幕截图,而是将您FormBitmap. 以前已经这样做过。其他解决方案可使用搜索获得。

于 2013-04-06T11:30:01.860 回答