gpt4 book ai didi

c# - 打印控件

转载 作者:行者123 更新时间:2023-11-30 14:36:29 24 4
gpt4 key购买 nike

我想知道是否有一种简单的方法可以将 C# 中的任何控件打印到打印机。我的具体示例是尝试将 TableLayoutPanel 打印到收据上(因此我不必担心分页符或其他任何问题),但我希望能够打印出发送给我的任何可见对象。现在我必须创建一个位图,然后执行 TableLayoutPanel.DrawToBitmap,但这看起来效率很低,而且由于我已经有了用于打印的 Graphics 对象,所以应该有一种简单的方法来执行此操作。谢谢!

编辑:我注意到有一个“ControlPaint.Draw__”,但是它没有很多可以绘制的控件(它有 Border、Button、CheckBox、ComboBox)..

最佳答案

private static void PrintControl(Control control)
{
var bitmap = new Bitmap(control.Width, control.Height);

control.DrawToBitmap(bitmap, new Rectangle(0, 0, control.Width, control.Height));

var pd = new PrintDocument();

pd.PrintPage += (s, e) => e.Graphics.DrawImage(bitmap, 100, 100);
pd.Print();
}

它仍在使用 DrawToBitmap,但它是您将获得的最优雅的。

它非常简洁、可读且效率不高,所以我看不出有任何理由不喜欢它。

关于c# - 打印控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10418215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com