C#PrintScreenActiveWindow我目前正在尝试使用VisualC#打印一个活动窗口。我有这段代码:SaveFileDialogsaveImageDialog=newSaveFileDialog();saveImageDialog.Title="选择输出文件:";saveImageDialog.Filter="JPeg图片|*.jpg|位图图片|*.bmp|Gif图片|*.gif";//saveImageDialog.FileName=printFileName;if(saveImageDialog.ShowDialog()==DialogResult.OK){//将位图对象设置为屏幕大小bmpScreenshot=newBitmap(this.Bounds.Width,this.Bounds.Height,PixelFormat.Format32bppArgb);//从位图创建一个图形对象gfxScreenshot=Graphics.FromImage(bmpScreenshot);//从左上角截屏到右下角gfxScreenshot.CopyFromScreen(this.Bounds.X,this.Bounds.Y,0,0,this.Bounds.Size,CopyPixelOperation.SourceCopy);//将截图保存到用户选择的指定路径bmpScreenshot.Save(saveImageDialog.FileName,ImageFormat.Png);}但是此代码还捕获了SaveImageDialog。这个问题有解决办法吗?太感谢了。最简单的方法是切换代码://将位图对象设置为屏幕大小bmpScreenshot=newBitmap(this.Bounds.Width,this.Bounds.Height,PixelFormat.Format32bppArgb);//从位图创建一个图形对象gfxScreenshot=Graphics.FromImage(bmpScreenshot);//从左上角截屏到右下角gfxScreenshot.CopyFromScreen(this.Bounds.X,this.Bounds.Y,0,0,this.Bounds.Size,CopyPixelOperation.SourceCopy);SaveFileDialogsaveImageDialog=newSaveFileDialog();saveImageDialog.Title="选择输出文件:";saveImageDialog.Filter="JPeg图片|*.jpg|位图图片|*.bmp|Gif图片|*.gif";//saveImageDialog.FileName=printFileName;if(saveImageDialog.ShowDialog()==DialogResult.OK){//将屏幕截图保存到用户选择的指定路径bmpScreenshot.Save(saveImageDialog.FileName,ImageFormat.Png);首先截取屏幕截图,然后显示保存对话框,如果对话框关闭,则将其保存到光盘。问题是,在您的代码中,程序没有时间重绘表单。如果您想保留代码的结构,您需要给它一些时间来处理挂起的事件,可能是通过调用Application.DoEvents。以上就是C#学习教程:C#打印屏幕活动窗口分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
