【发布时间】:2017-06-01 05:53:29
【问题描述】:
我正在尝试从 RichTextBox 创建位图并将其设置为面板的背景图像,但不幸的是没有显示文本。
Bitmap l_bitmap = new Bitmap(m_control.Width, m_control.Height);
m_control.DrawToBitmap(l_bitmap, new Rectangle(0, 0, l_bitmap.Width, l_bitmap.Height));
m_panel.BackgroundImage = l_bitmap;
m_panel.Refresh();
m_control 是我的 RichTextBox。调试时,可以看到控件包含我写的文本,但位图只显示一个空的 RichTextBox。
我对其他类型的控件(按钮、复选框、文本框...)使用相同的代码。文本显示没有问题。
【问题讨论】:
-
工具箱中有几个控件不支持 DrawToBitmap(),WebBrowser 和 RichTextBox 不支持。他们不这样做是有充分理由的,如果你不告诉我们为什么这个非常不寻常的代码对你很重要,那么这里任何人提出的替代方案也很有可能无法完成工作。
-
我正在尝试创建一种 GUI 设计器,其中用户(就像在 Visual Studio 中一样)在预览屏幕中拖放控件并更改它们的属性。为此,我创建了一个定义了控件和面板的类。我正在代码中创建控件,更改其属性,为其创建位图并将该位图设置为面板的背景图像。
-
根据an answer here,有一个更新版本的RichTextBox 支持DrawToBitmap。也许你可以调查一下。
标签: c# richtextbox