C# 在应用程序中截取 .net 控件的屏幕截图并附加到 Outlook 电子邮件

标签 c# .net winforms controls screenshot

<分区>

有谁知道如何使用 C# 截取屏幕截图并将其限制为拍摄应用程序的特定容器/部分的照片。我不想要应用程序的整个屏幕或整个窗口。

我的面板简称为:panel1 用户将单击“按钮”并截取 panel1 的屏幕截图并附加到电子邮件。

我只想截取该部分的屏幕截图,然后在本地保存到 C:\驱动器和/或附加或嵌入到 Outlook 电子邮件中。

我在 Internet 上阅读了其他各种内容,但其中大多数都必须处理创建复杂的更改,以截取我不想要的 Web 浏览器控件的屏幕截图。

最佳答案

如果你只是想要面板的截图,你可以使用内置的DrawToBitmap方法。

Bitmap bmp = new Bitmap(myPanel.Width, myPanel.Height);
myPanel.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
bmp.Save(@"C:\MyPanelImage.bmp");

请注意,某些控件可能无法使用此功能,例如 WebBrowserRichTextBox 控件,但它应该适用于大多数其他控件(文本框、标签等)。 )

关于C# 在应用程序中截取 .net 控件的屏幕截图并附加到 Outlook 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16000603/

相关文章:

C# - 使用内联 SQL 恢复 SQL Server 数据库

c# - 使用Sql Spatial Data(C#)找不规则多边形的 "visual"中心

c# - 修改运行时导致 InvalidProgramException 的 IL 代码

c# - LINQ查询的返回结果

.net - CLR 如何实现 COM 实现的二进制级别的互操作性?或者不?

c# - 在现有数据表中添加具有顺序编号的新列的最佳方法

C#重复打开表单代码冗余

c# - 系统.绘图.图形

c# - 用 C# 编写全局自定义事件

c# - 如何动态地向按钮添加不同的命令