Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 位图中的输出控制_Winforms_C# 2.0 - Fatal编程技术网

Winforms 位图中的输出控制

Winforms 位图中的输出控制,winforms,c#-2.0,Winforms,C# 2.0,我想在我的项目中实现预览/缩略图,因此我需要控件的图形输出作为位图。我有一个第三方控件,用于加载和显示文档。是否可以获取控件的输出并将其存储在位图对象中,而不将其添加到UI?如果怎么做 编辑:我以前可能应该这么说,但我不知道这是否重要。第三方控件是一个OCX(ActiveX控件)。形式如下: Bitmap myBitmap = new Bitmap(button1.Width, button1.Height); // button1.Draw..., not 'this.Draw...'! b

我想在我的项目中实现预览/缩略图,因此我需要控件的图形输出作为位图。我有一个第三方控件,用于加载和显示文档。是否可以获取控件的输出并将其存储在位图对象中,而不将其添加到UI?如果怎么做

编辑:我以前可能应该这么说,但我不知道这是否重要。第三方控件是一个OCX(ActiveX控件)。

形式如下:

Bitmap myBitmap = new Bitmap(button1.Width, button1.Height);

// button1.Draw..., not 'this.Draw...'!
button1.DrawToBitmap(myBitmap, button1.DisplayRectangle); 

myBitmap.Save(@"C:\test.bmp");
以某种形式做:

Bitmap myBitmap = new Bitmap(button1.Width, button1.Height);

// button1.Draw..., not 'this.Draw...'!
button1.DrawToBitmap(myBitmap, button1.DisplayRectangle); 

myBitmap.Save(@"C:\test.bmp");

他说没有把它添加到用户界面?谢谢你的快速响应,但它没有按预期工作。我用一个按钮尝试了一下,我得到了位图(按钮的大小),它显示了表单的左上角(图标+标题文本)。最后,您可以使用control.DrawToBitmap属性对任何控件执行此操作。如果你的控件是AcX控件,它可能没有这个方法…我已经在一个按钮上测试了这个代码,它可以工作了。请注意DrawToBitmap是由按钮调用的,而不是由表单调用的。如果不起作用,请粘贴代码。如果我将按钮替换为OCX,则会得到InvalidActiveXStateException,如果我将OCX添加到表单中,该异常将消失。但是位图只包含一个水平和垂直滚动条。也许这不适用于OCX控件。他说,没有将其添加到UI?谢谢你的快速响应,但它没有按预期工作。我用一个按钮尝试了一下,我得到了位图(按钮的大小),它显示了表单的左上角(图标+标题文本)。最后,您可以使用control.DrawToBitmap属性对任何控件执行此操作。如果你的控件是AcX控件,它可能没有这个方法…我已经在一个按钮上测试了这个代码,它可以工作了。请注意DrawToBitmap是由按钮调用的,而不是由表单调用的。如果不起作用,请粘贴代码。如果我将按钮替换为OCX,则会得到InvalidActiveXStateException,如果我将OCX添加到表单中,该异常将消失。但是位图只包含一个水平和垂直滚动条。也许这不适用于OCX控件。如果控件不是任何表单的一部分,它如何显示文档(或其他内容)?我是否误解了什么?您问“是否可以获取输出”,但如果控件本身未显示,也未加载到窗体中,则输出类型是什么。。。我不确定是否可能。嗯。。。真遗憾。。。然后,我可能必须根据您的答案找到一个解决方法。如果控件不是任何表单的一部分,它如何显示文档(或其他内容)?我是否误解了什么?您问“是否可以获取输出”,但如果控件本身未显示,也未加载到窗体中,则输出类型是什么。。。我不确定是否可能。嗯。。。真遗憾。。。那么我可能必须根据你的答案找到解决办法。