2015-09-27 97 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)