目前我自动打开一个新的表单,加载一个图表,只在内存中做一个截图,并将其发送到我的私人聊天电报。到目前为止一切都很好,但有没有办法,打开表单沉默(也不显示和不聚焦/不可见)和截图沉默的表单?这是atm,我的代码,工作正常,但没有静音功能。有人能帮助我吗?第一个
jvlzgdj91#
您可以将表单的Opacity属性设定为0,让表单看不见:
Opacity
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。
DrawToBitmap
Visible
false
frm.Hide();
Show()
SetVisibleCore
63lcw9qa2#
检查此线程:如何获取WPF控件的屏幕截图?RenderTargetBitmap.Render应与最小化窗口一起工作:)。
RenderTargetBitmap.Render
2条答案
按热度按时间jvlzgdj91#
您可以将表单的
Opacity
属性设定为0,让表单看不见:即使表单隐藏,
DrawToBitmap
方法也应该可以正常工作。请注意,如果将
Visible
属性设置为false
,也可以使用此方法(例如,通过调用frm.Hide();
),但这会导致表单在一瞬间出现。在调用Show()
* 之前将Opacity
设置为0 * 可确保表单从一开始就不可见。或者,您可以按照here的说明覆盖SetVisibleCore
。63lcw9qa2#
检查此线程:如何获取WPF控件的屏幕截图?
RenderTargetBitmap.Render
应与最小化窗口一起工作:)。