你如何以编程方式获得.Net控件的图片?
每个名为DrawToBitmap的控件都有一个方法.您不需要p/invoke来执行此操作.
Control c = new TextBox(); System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(c.Width, c.Height); c.DrawToBitmap(bmp, c.ClientRectangle);
您可以使用从.NET 2.0开始的Control类的DrawToBitmap方法以编程方式轻松获取.NET控件的图片
这是VB中的一个示例
Dim formImage As New Bitmap("C:\File.bmp") Me.DrawToBitmap(formImage, Me.Bounds)
这里是C#:
Bitmap formImage = New Bitmap("C:\File.bmp") this.DrawToBitmap(formImage, this.Bounds)
Control.DrawToBitmap将允许您将大多数控件绘制到位图.这不适用于RichTextBox和其他一些.
如果你想捕获这些,或者拥有其中一个的控件,那么你需要像这个CodeProject文章中描述的那样进行PInvoke:Image Capture
请注意,其中一些方法会捕获屏幕上的内容,因此如果您有另一个窗口覆盖您的控件,您将获得该控件.