winforms 有没有办法打开静默/不可见的新表单并截图?

jtw3ybtb  于 2022-11-25  发布在  其他
关注(0)|答案(2)|浏览(139)

目前我自动打开一个新的表单,加载一个图表,只在内存中做一个截图,并将其发送到我的私人聊天电报。到目前为止一切都很好,但有没有办法,打开表单沉默(也不显示和不聚焦/不可见)和截图沉默的表单?
这是atm,我的代码,工作正常,但没有静音功能。有人能帮助我吗?
第一个

jvlzgdj9

jvlzgdj91#

您可以将表单的Opacity属性设定为0,让表单看不见:

var frm = new Form2();
frm.ShowInTaskbar = false;
frm.Opacity = 0;
frm.Show();

using (var bmp = new Bitmap(frm.Width, frm.Height))
{
    frm.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
    // Do something with the bitmap.
}

即使表单隐藏,DrawToBitmap方法也应该可以正常工作。
请注意,如果将Visible属性设置为false,也可以使用此方法(例如,通过调用frm.Hide();),但这会导致表单在一瞬间出现。在调用Show()* 之前将Opacity设置为0 * 可确保表单从一开始就不可见。或者,您可以按照here的说明覆盖SetVisibleCore

63lcw9qa

63lcw9qa2#

检查此线程:如何获取WPF控件的屏幕截图?
RenderTargetBitmap.Render应与最小化窗口一起工作:)。

相关问题