在某些环境中,如Office宏环境或Visual Studio,有些设计人员可以显示预览,您可以将项目拖放到预览中。它们使用与操作系统其余部分相同的主题进行渲染。我不是要创建一个MDI,而是以相同的形式绘制一个窗体。
示例:的
在C#中,我将如何实现类似的功能?
答案 0 :(得分:3)
也许你应该看一下这篇文章:http://msdn.microsoft.com/en-us/magazine/cc163871.aspx
文章讨论了:
答案 1 :(得分:1)
您可以使用这个漂亮的方法将form2绘制到目标位图上:
form2.DrawToBitmap(tagetBmp, new Rectangle(0, 0, form2.Size.Width, form2.Size.Height));
要使其工作,您将创建一个表单来显示并在其上调用此方法。它将包括其所有控件等,但如果你想要它是空的,你只需要一个正确比例的空形式。
这是一个测试,它自己绘制一个窗口:
private void button1_Click(object sender, EventArgs e)
{
Size oldSize = this.Size;
Size newSize = new Size(this.Width / 4, this.Height / 4);
Bitmap targetBmp = new Bitmap(newSize.Width, newSize.Height);
this.Size = newSize;
button1.Hide();
this.DrawToBitmap(targetBmp, new Rectangle(Point.Empty, newSize));
this.Size = oldSize;
using (Graphics G = this.CreateGraphics())
{
G.DrawImage(targetBmp, 0, 0);
}
button1.Show();
}