首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

不带对话框的铬打印(默认打印机) Winforms C#

不带对话框的铬打印是指在Winforms C#应用程序中,使用默认打印机进行打印操作,而无需弹出打印对话框进行设置和确认。

在Winforms C#中实现不带对话框的铬打印,可以通过以下步骤:

  1. 获取默认打印机:使用System.Drawing.Printing命名空间中的PrintDocument类,调用其DefaultPageSettings.PrinterSettings.PrinterName属性可以获取默认打印机的名称。
  2. 设置打印文档:创建PrintDocument对象,并设置其PrinterSettings.PrinterName属性为默认打印机的名称。
  3. 定义打印事件处理程序:为PrintDocument对象的PrintPage事件添加处理程序,该处理程序将定义打印的内容和格式。
  4. 执行打印操作:调用PrintDocument对象的Print方法,开始执行打印操作。

下面是一个示例代码:

代码语言:txt
复制
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;

namespace WinformsPrintExample
{
    public partial class MainForm : Form
    {
        private PrintDocument printDocument;

        public MainForm()
        {
            InitializeComponent();
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            printDocument = new PrintDocument();
            printDocument.PrintPage += new PrintPageEventHandler(PrintDocument_PrintPage);
        }

        private void PrintDocument_PrintPage(object sender, PrintPageEventArgs e)
        {
            // 在此处定义打印的内容和格式
            string text = "Hello, World!";
            Font font = new Font("Arial", 12);
            Brush brush = Brushes.Black;
            PointF point = new PointF(100, 100);
            e.Graphics.DrawString(text, font, brush, point);
        }

        private void PrintButton_Click(object sender, EventArgs e)
        {
            // 执行打印操作
            printDocument.Print();
        }
    }
}

在上述示例中,MainForm_Load方法中创建了PrintDocument对象,并为其PrintPage事件添加了处理程序PrintDocument_PrintPage。在PrintDocument_PrintPage处理程序中,可以定义打印的内容和格式。PrintButton_Click方法中调用printDocument.Print()方法执行打印操作。

这是一个简单的示例,你可以根据实际需求进行扩展和修改。关于Winforms C#的更多打印相关的知识和技术,你可以参考腾讯云的打印服务产品腾讯云打印服务

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA: 获取电脑当前默认打印机名称

借助Application.ActivePrinter属性,一方面可以查询当前默认打印机名称,另一方面,也可以指定默认打印机名称。...Printer_original As String Dim Path As String, path_saved As String, name_file As String '1 记录最开始默认打印机...PrToFileName:=path_saved, IgnorePrintAreas:=False Workbooks(name_file).Close False '3 恢复默认打印机...Application.ActivePrinter = Printer_original End Sub 该代码主要分为三步:(1)先记录当前默认打印机名称,一般电脑默认连接是实体打印机...;(2)借助Printout函数将指定Excel文件转换为PDF文件,此时默认打印机名称已经发生变化,转变成了Microsoft Print to PDF; (3)恢复默认打印机,也就是第(1)步保存打印机名称

2.2K20

C#遍历系统所安装打印机,使用WMI方式获取打印机所有属性

有网友发消息来询问,C#如何遍历系统已经安装所有打印机,并获得每个打印机相关信息,如:端口,名称等等 C#里面,虽然在 System.Drawing.Printing 这个namespace下...,提供了一些对系统打印机访问功能,但是,说实话是太弱了,对获取打印机相关属性基本是无能为力。...C#里面获取打印机详细信息,常用用2种方式: 使用 Windows API 使用 WMI 我这里使用是WMI方式,因为此方式,是采用了类SQL方法,将windowsWMI管理信息,作为一种数据库形态来提供...,使用起来比较顺手 .NET 里面对WMI使用,是放在 System.Management 这个空间下,要使用的话,需要先添加对 System.Management.dll 引用 具体代码如下:...属性名 : 属性值 形式 } } 应该是一目了然了吧,嘿嘿

2.1K10

Zetcode GUI 教程

wxPython 中俄罗斯方块游戏 C# Winforms Mono 教程 Mono Winforms 简介 Mono Winforms第一步 Mono Winforms布局管理 Mono...Winforms 中的菜单和工具栏 Mono Winforms基本控件 Mono Winforms高级控件 对话框 Mono Winforms拖放 Mono Winforms绘图...中小部件 PHP GTK 中的菜单和工具栏 对话框 Cario 绘图 自定义小部件 Nibbles C# Qyoto 教程 Qyoto 介绍 布局管理 Qyoto 中小部件 Qyoto 中的菜单和工具栏...介绍 布局管理 Qyoto 中小部件 Qyoto 中的菜单和工具栏 Qyoto 对话框 Qyoto 中绘图 Qyoto 中自定义小部件 Nibbles Mono IronPython Winforms...Winforms高级控件 对话框 Mono Winforms拖放 绘图 IronPython Mono Winforms绘图 II IronPython Mono Winforms

2.4K40

一个WPF开发打印对话框-PrintDialogX

今天五月一号,大家玩开心哦。 1....介绍 今天介绍一个WPF开发打印对话框开源项目-PrintDialogX[1],该开源项目由《WPF开源项目:AIStudio.Wpf.AClient》[2]作者推荐。...用于 C# 自定义打印对话框,可实时预览。您可以选择打印机并设置份数、方向、颜色、质量、比例、每页张数、双面、纸张尺寸、纸张类型、纸张来源等。它也很优雅。 2....你为什么使用 这是功能强大且美观自定义打印对话框。在最新版本[3]里它几乎可以提供任何打印设置。它几乎可以做 Windows 默认打印对话框可以做任何事情。...但它们之间不同之处在于这个自定义打印对话框具有实时预览功能。您可以在调整设置时预览打印结果。因此,您可以使用它来代替 Windows 默认打印对话框,这甚至比它更好。 3. 截屏 4.

51430

【愚公系列】2023年11月 WPF控件专题 PrintDialog控件详解

自定义控件则允许开发人员使用XAML和C#等编程语言来创建个性化用户界面元素。自定义控件可以根据需求提供更多功能和自定义化选项,以及更好用户体验。...通过该控件,用户可以选择打印机打印范围、打印份数、打印质量等,从而满足用户不同打印需求。......}需要注意是,PrintDialog控件是一个模态对话框,即当它弹出时,用户不能操作应用程序中其他部分,直到对话框被关闭为止。...PageRange:获取或设置要打印页范围。PrintTicketLevel:获取或设置打印机设置级别。PrintTicketScope:获取或设置打印机设置范围。...这些属性可以帮助我们在打印对话框中设置打印任务相关属性和选项。2.常用场景PrintDialog控件是WPF中用于打印操作标准对话框

47211

c# 调用Microsoft XPS Document Writer打印机,将Pdf文件转换成Xps文件「建议收藏」

下载地址:http://www.pdftron.com/pdfnet/index.html   2)通过“Microsoft XPS Document Writer”打印机,将pdf打印成本地xps...这个打印机驱动在WIN7系统上装Office2007时候会自动装上,如果是XP系统的话,可能没有,可以去微软官网下载个    “SaveAsPDFandXPS.exe”,装上后,就会有这个打印机...打印机也有了,那么接下来问题就是怎么调用这个打印机了,淡然了,可以通过一系列API配合去调用这个打印机,但我觉得    Windows打印机调用起来实在是太麻烦了,通过一番调查,可以直接使用...开发环境:VS2010,.Net FrameWork4.0,C#,WPF 窗体代码: <Window x:Class="TestPdfToXps1.MainWindow" xmlns="...IntPtr.Zero); PostMessage(hChild, WM_LBUTTONUP, IntPtr.Zero, IntPtr.Zero); /***** 跟踪<em>打印机</em>队列中<em>的</em>文件<em>打印</em>状况

2.2K10

Tiled源码分析(一): GUI编辑和布局

MFC, WinForms, WPF, Qt算是都折腾过, 就差WxWigets了 比较下来, 做游戏(引擎)工具开发的话, 最重要是易上手, 好维护, 开发快, 综合下来还是滚回C++阵营, 选择了...Qt 不用不知道, 其实传统Qt Widgets用起来跟WinForms非常像, 甚至Qt Quick特性跟WPF有的一拼 想当初强烈地想用C#, 很大部分原因是WinForms那个可视化GUI编辑器比较吸引人...不过QtDesigner虽说还没有生成事件代码功能, 但是对于C++来说, 已经很不错了, 再说还有signal-slot支持 控件布局 回归正题, Tiled中主要对话框都是.ui文件, 用QtDesigner...仔细观察发现, 工具栏上按钮只有固定几个, 好多窗口也没有在.ui里找到 虽说很多人会鄙视可视化UI编辑器, 但是不得不说, 有些地方的确很方便, 但所有界面都依赖这个就份了 因为从架构设计角度来讲...菜单和工具栏命令 这里也是基于Qt比较不错QAction, 比MFCID方式强太多了. 工具栏那些没在Designer中出现按钮是跟操作/插件功能相关, 后续再分析

1.2K90

打印机设置(PrintDialog)、页面设置(PageSetupDialog) 及 RDLC报表如何选择指定打印机

幸好,.Net提供了“二”个很有用类:PrintDialog(打印机设置对话框)、PageSetupDialog(页面设置对话框) (注:之所以给“二”加引号,是因为"打印机设置"其实已经完全包含了“..."打印机设置"对话框调用完成后,可以取回一些有用信息,下面是一些关键信息展示截图: ?...还有一个问题,如何在弹出这二个对话框时,默认就选中一些特定值呢?...,就默认选中了"pdfFactory Pro"打印机(当然,这个名字必须确实是你本机安装打印机之一,如果这个打印机名字不存在,系统仍将选中默认打印机) /// ...,就默认选中了布局方向为“纵向”,同时设置了边距,而且纸张大小为A5大小(注意:PageSize设置,在界面上看不出效果,但是关闭对话框后,返回值PageSize里会起作用) 三、RDLC报表用代码指定打印机

3.2K70

PDF 文档编辑神器 Adobe Acrobat-最牛逼PDF编辑器

PDF 文件以 PostScript 语言图象模型为基础,无论在哪种打印机上都可保证精确颜色和准确打印效果,即PDF会忠实地再现原稿每一个字符、颜色以及图象。...可点击图片放大查看查看 PDF 首选项“首选项”对话框定义了默认页面布局和用很多其它方法自定义您应用程序。要查看 PDF,请检查文档、全屏、一般、页面显示和 3D 和多媒体首选项中选项。...可点击图片放大查看④ 利用虚拟 PDF 打印机创建 PDF打印机分为物理和虚拟打印机。从 win 7 开始微软已经在系统中添加了“Microsoft Print to PDF”虚拟 PDF 打印机。...这样系统就有两个虚拟 PDF 打印机,利用打印功能生成 PDF 时,可选择其一来打印生成 PDF。经测试 Adobe 虚拟 PDF 打印机创建文档要小于 Microsoft。...如果是长文档,并且文档有目录,希望生成 PDF 文档带有导航书签,这时应该利用上面方法②和③,而方法①和④生成 PDF 文档是不带导航书签

2.3K20

如何解决C#异常:必须先将当前线程设置为单线程单元(STA)模式,然后才能进行OLE调用,请确保你Main函数已在其上标记了STAThreadAttribute

确保你Main函数上已标记STAThreadAttribute。仅当将调试器附加到进程时, 才会引发此异常。 在本文中, 我们将向你简要说明如何防止此异常出现在WinForms项目中。...异常示例 在我们项目中, 我们使用CefSharp库, 该库允许我们使用HTML, CSS和JavaScript创建桌面应用程序。它功能之一是可以将C#类暴露给窗口中JavaScript对象。...我们具有以下类, 该类显示用于保存文件本机对话框(showOpenDialog函数): using System; using CefSharp.WinForms; using System.IO;...} } } } 如果从JavaScript上下文(CefSharp线程)执行该函数, 则将触发异常, 因为我们正在CefSharp默认...解决办法 默认情况下, 主应用程序线程初始化为ApartmentState.MTA。

2.3K10

添加和共享打印机方法是_按名称选择共享打印机输入什么

在“添加打印机对话框中,选择“按名称选择共享打印机”,然后输入主要电脑计算机或设备名称,和使用以下其中一种格式打印机共享名称:\\computername\printername http://computername...有关计算机或设备名称详细信息,请参阅本主题中“查找电脑名称”一节。默认情况下,你需要主要电脑用户名和密码以访问该打印机。...在“添加设备”对话框中,选择“按名称选择共享打印机”,然后输入主要电脑计算机或设备名称,和使用以下其中一种格式打印机共享名称:\\computername\printername http://computername...有关计算机或设备名称详细信息,请参阅本主题中“查找电脑名称”一节。默认情况下,你需要主要电脑用户名和密码以访问该打印机。 设置共享设置 默认情况下,用于共享设备设置经常处于打开状态。...在“高级共享设置”对话框中,展开“专用”一节。接下来,在“网络发现”下选择“打开网络发现”。 在“文件和打印机共享”下,请选择“打开文件和打印机共享”。

4.1K30

免费资源 | ActiveReports 报表控件发布多平台 Demo 代码集合

WinForms 加载四种报表:如何在WinForms框架下,加载ActiveReports四种不用报表(RDL报表,页面报表,区域报表基于XML,区域报表基于代码)。...WinForms 增加导出和打印按钮:在WinForms框架下,报表展示工具栏没有导出和打印按钮,这需要我们通过后台代码进行按钮添加触发事件编写。...WinForms 实现静默打印:通过点击打印按钮,直接调用打印机进行报表打印WinForms 绑定运行时数据源:WinForms框架下,四种不同报表如何进行绑定运行时数据源。...例:WinFormsActiveReports静默打印实现 ASP.NET 下使用WebViewer & HTMLViewer 加载显示报表 使用HTMLViewer:Asp.net 框架下,使用...HTMLViewer增加打印按钮:Asp.net 框架下,使用HTMLViewer加载报表,工具栏是没有打印按钮,需要手动添加打印按钮。

2.4K40

打印机驱动程序无法使用怎么办

二、 打印机驱动 怎么装 1、点击屏幕左下角“开始”按钮,从弹出菜单列表中选择“打印机和传真”。 2、在打开打印机和传真”窗口中点击左侧“添加打印机”命令。...3、接着会弹出“添加打印机向导”对话框,点击“下一步”按钮继续。 4、一般我们是选择第一项,使用网络打印机也更多选择第一项,再点击“下一步”按钮继续。...6、点击“下一步”按钮后弹出新对话框,直接点击“下一步”按钮继续。 7、接下来就是关键一步了,填入正确网络打印机IP地址,点击“下一步”按钮。 8、最后一步确认对话框中点击“完成”按钮。...10、点击“确定”按钮后“添加打印机向导”对话框中会自动列表当前打印机驱动,点击“下一步”按钮继续。 11、后面一路点击“下一步”按钮即可,直到最后“完成”对话框。...13、稍等一会对话框自动消失,可以看到“打印机和传真”窗口中有了刚才添加打印机了。

4.6K50

Java读取打印机自定义纸张.

因为java默认打印, 会从打印机纸张里寻找相近纸张进行匹配, 如果没有添加自定义纸张, 可能找出来是别的纸张....打印机不支持直接设置 例如Windows自带Microsoft XPS Document Writer, 右键打印机首选项里是没有自定义纸张....这时可以通过选中打印机, 点击菜单栏上方打印机服务器属性, 勾选 创建新纸张规格. 最后记得要点 保存规格....Java读取自定义纸张 通过java直接调用打印机, 弹出来打印机设置窗口, 里面有个选择打印机以及纸张界面. 既然java自带对话框里可以读到, 我们可以到他源码里直接摘抄一下....如果设置了100*50纸张, 是读不到, 因为他默认这个是50*100横向展示. 若需要打印自定义纸张, 参加另外一篇博客 使用PDFBox打印自定义纸张PDF

2.3K100

佳博打印机如何设置热敏打印

现在市场上标签纸种类比较多,如果你打印机适合哪种标签纸,你需要在你打印机上安装对应标签纸即可,这里以佳博打印机安装热敏纸为例,首选需要在打印机上安装热敏纸,安装位置要是热敏打印位置。...安装好之后,再在打印机首选项中进行设置,具体操作如下: 点击开始-设备和打印机,弹出设备和打印机对话框,在对话框中找到佳博打印机。...在打印机中设置好之后,打开条码打印软件,点击新建,或者文件-新建,弹出文档设置对话框,在文档设置-打印机类型及纸张中,在打印机下拉列表中选择你需要打印机,然后在纸张中自定义设置一下纸张大小。...然后文档设置-布局中设置一下标签行数列数、上下左右页面边距以及标签间距等,再不设置顺序、页码、区间、光标、画布情况下,点击完成。具体操作可以参考:条码打印软件怎么自定义设置纸张尺寸。...实际上在打印机上安装好热敏纸之后,打印机自检一下就可以识别热敏了。 如果打印机不能自动识别的话,可以在打印机首选项中手动进行设置。

3.3K30

dotnet 使用 Avalonia 开发 UOS 原生应用

作为 dotnet 开发者,可以通过很多不同方向技术为 UOS 系统生态贡献应用,如 Xamarin 和 GTK# 或 wine 和 win32 应用,或 mono 和 WinForms 应用等。...[C#] ui/xaml Avalonia UserControl avalonia.usercontrol [C#] ui/xaml...Avalonia 应用默认带有 Hellow 界面,先不要尝试修改界面逻辑,请先发布运行一下 使用 Avalonia 带来优势是部署特别方便,原因是 dotnet core 部署非常方便,通过下面命令就可以独立发布一个...默认都会下载到 ~/Download 文件夹,这里可执行文件是一个不带后缀文件。...如我创建项目是 avalonial 此时我生成可执行文件就是和项目名相同不带后缀名文件,使用下面代码就可以让这个文件有权限执行 chmod 777 .

1.5K10

突破技术限制,实现Web端静默打印

在这种情况下,客户都会面临需要打印却无法直接连接打印机,进行默认打印能力。.../switchPrinter.ps1 切换默认打印机资源 `./start.ps1` 启动和安装打印服务 ./stop.ps1 停止服务 ..../switchPrinter.ps1 命令选择默认打印机 使用 ./start.ps1 命令启动服务,如果结束后,调用..../stop.ps1 关闭案例 2、启动成功后,我们再来运行WynReportDesigner 或WynViewer示例: 执行这些示例,会自动加载到默认打印机选项,。实现打印需求。...配置成功后,可以看到点击打印按钮后,后台会连接默认打印机进行打印。 总结 解决静默打印是没有捷径可以走,设置浏览器该方法是看着是非常便捷,但是结果是并无效果。

2K10
领券