2015-09-27 83 views
-1

问题:表格分为两部分。拍摄表格

左侧输入信息。预览这些信息的右侧。

窗体顶部有一个名为Send的按钮。

当我点击该按钮时,需要拍摄右侧的快照并将其发送至作为附件提供的电子邮件地址。

解决方案:以表格的右边的快照,并将其保存到临时文件夹 - 发送电子邮件,并从临时文件夹 附加文件 - 删除文件(任何情况下) 是否有可能采取SS并将其转换为PDF?那是更好的方法吗?

我发现论坛Class for Screen Capture

一个非常有益的类,但有什么办法使用这种方法,而无需输入画面的位置。

示例:表单的右侧位于GroupBox2。

有什么方法可以在窗体上对组合框2进行拍照吗?

+0

你也许在那里,这将不是一个好捆绑2个或3个问题。所有控件(例如GroupBox)都有一个用于步骤1的“DrawToBitmap”方法(假设GroupBox2是“右侧”)。转换为PDF是第2步,电子邮件是步骤3,删除的东西(?)是第4步。 – user3697824

+0

@ user3697824谢谢你的答案。我的问题是如何将一个groupbox2作为一个快照,并将其保存到本地目录。这只是问题 –

+0

我想如果你改变了这一行Dim MyWindow As Image = SC.CaptureWindow(Me.Handle)传入组合框的句柄而不是表单,它只会得到组合框图像 –

回答

0

是否有任何方法可以在窗体上拍摄groupbox2的快照?

并将其保存到临时文件夹

至于建议的user3697824,使用Control.DrawToBitmap()Path.GetTempFileName

Dim bmp As New Bitmap(GroupBox2.Width, GroupBox2.Height) 
    GroupBox2.DrawToBitmap(bmp, New Rectangle(New Point(0, 0), bmp.Size)) 

    Dim FileName As String = System.IO.Path.GetTempFileName 
    bmp.Save(FileName) ' save it as a Bitmap 
    ' <or> 
    bmp.Save(FileName, Imaging.ImageFormat.Jpeg) ' save it as a Jpeg 
    ' *Either way, the file will have the .TMP file extension! 
    Debug.Print(FileName)