【问题标题】:DrawToBitmap on windows xpWindows XP 上的 DrawToBitmap
【发布时间】:2012-06-05 09:36:40
【问题描述】:

我有一个显示车辆车牌号的用户控件(它包含背景图像和一些文本框),我使用DrawToBitmap() 方法获取此控件的位图并在我的表单上显示位图,它工作正常在 Windows 7 上,但在 Windows XP Service Pack 3 中,只绘制背景图像,不绘制文本框中的文本,我该怎么办?

var clt = new ControlLisenceTouch();Bitmap b = new Bitmap(clt.Width, clt.Height);
clt.License = License.FromCar(someCar);
clt.Invalidate(true);
clt.DrawToBitmap(b, Rectangle.FromLTRB(0, 0, clt.Width, clt.Height));
pictureBox1.Image = b;

【问题讨论】:

  • 我在 Windows XP 中使用它时遇到过一些类似的奇怪行为。不幸的是,我没有找到解决办法:(
  • 我会为您的 UserControl 实际包含一个 RichTextBox。是的,该控件不支持。
  • @HansPassant:不,它只包含文本框,没有 RichTextBox。我有用户控件源代码。

标签: c# winforms .net-4.0 windows-xp


【解决方案1】:

这家伙也有同样的问题,虽然答案并不完美,但确实为他解决了。这里最大的问题是,如果另一个窗口覆盖了您的控件,那么该窗口也会显示。看看我的回答,第三次编辑显示截屏,并从中裁剪出一个控件。

How can I get a screenshot of control? DrawToBitmap not working

根据http://msdn.microsoft.com/en-us/library/system.windows.forms.control.drawtobitmap.aspx
完全支持 Windows XP sp3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多