C# 打印文档
我想打印我的C# 打印文档,c#,printing,C#,Printing,我想打印我的文本框,这是我的代码: private void MenuItemPrint() { if (FileName != "") { PrintDocument document = new PrintDocument(); document.PrinterSettings.PrintFileName = FileName; document.Print(); } }
文本框
,这是我的代码:
private void MenuItemPrint()
{
if (FileName != "")
{
PrintDocument document = new PrintDocument();
document.PrinterSettings.PrintFileName = FileName;
document.Print();
}
}
private void MenuItemPrint()
{
if(!string.IsNullOrEmpty(FileName.Trim())
{
PrintDialog printdg = new PrintDialog();
if (printdg.ShowDialog() == DialogResult.OK)
{
PrintDocument pd = new PrintDocument();
pd.PrinterSettings = printdg.PrinterSettings;
pd.PrintPage += PrintPage;
pd.Print();
pd.Dispose();
}
}
}
private void PrintPage(object o, PrintPageEventArgs e)
{
e.Graphics.DrawString(FileName, new Font("Arial", 20), Brushes.Black, 10, 25);
}
但它不起作用。我该怎么办?试试这个:
private void MenuItemPrint()
{
if (!FileName.Trim().Equals(""))
{
using(PrintDocument pd = new PrintDocument())
{
using(PrintDialog printDialog=new PrintDialog())
{
if(printDialog.ShowDialog()==DialogResult.Yes)
{
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
pd.Print();
}
}
}
}
}
private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
ev.Graphics.DrawString(FileName, new Font("Arial", 10), Brushes.Black,
ev.MarginBounds.Left, 0, new StringFormat());
}
private void MenuItemPrint()
{
if(!string.IsNullOrEmpty(FileName.Trim())
{
PrintDialog printdg = new PrintDialog();
if (printdg.ShowDialog() == DialogResult.OK)
{
PrintDocument pd = new PrintDocument();
pd.PrinterSettings = printdg.PrinterSettings;
pd.PrintPage += PrintPage;
pd.Print();
pd.Dispose();
}
}
}
private void PrintPage(object o, PrintPageEventArgs e)
{
e.Graphics.DrawString(FileName, new Font("Arial", 20), Brushes.Black, 10, 25);
}
您可以使用以下代码使用所选打印机打印文本框的内容:
private void PrintTextBoxContent()
{
#region Printer Selection
PrintDialog printDlg = new PrintDialog();
#endregion
#region Create Document
PrintDocument printDoc = new PrintDocument();
printDoc.DocumentName = "Print Document";
printDoc.PrintPage += printDoc_PrintPage;
printDlg.Document = printDoc;
#endregion
if(printDlg.ShowDialog() == DialogResult.OK)
printDoc.Print();
}
void printDoc_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawString(this.textBox1.Text, this.textBox1.Font, Brushes.Black, 10, 25);
}
private void MenuItemPrint()
{
if(!string.IsNullOrEmpty(FileName.Trim())
{
PrintDialog printdg = new PrintDialog();
if (printdg.ShowDialog() == DialogResult.OK)
{
PrintDocument pd = new PrintDocument();
pd.PrinterSettings = printdg.PrinterSettings;
pd.PrintPage += PrintPage;
pd.Print();
pd.Dispose();
}
}
}
private void PrintPage(object o, PrintPageEventArgs e)
{
e.Graphics.DrawString(FileName, new Font("Arial", 20), Brushes.Black, 10, 25);
}
只需尝试以下代码
private void MenuItemPrint()
{
if(!string.IsNullOrEmpty(FileName.Trim())
{
PrintDialog printdg = new PrintDialog();
if (printdg.ShowDialog() == DialogResult.OK)
{
PrintDocument pd = new PrintDocument();
pd.PrinterSettings = printdg.PrinterSettings;
pd.PrintPage += PrintPage;
pd.Print();
pd.Dispose();
}
}
}
private void PrintPage(object o, PrintPageEventArgs e)
{
e.Graphics.DrawString(FileName, new Font("Arial", 20), Brushes.Black, 10, 25);
}
您应该告诉我它以什么方式不起作用。@Melody:您遇到了什么错误?当我单击打印时不会发生。您的文件名是文本框控件吗?使用PrintDocument,您必须注册事件PrintPage和内部用于打印的实施代码。看,有没有更简短的代码?我只想打印文本框的内容。我认为没有比这个IMO更短的代码了。因为您必须编写语句来初始化printDocument,注册PrintPage事件,最后使用drawstring.actually Trim()打印字符串函数将删除文本框中通常看不到的前导空格和尾随空格。如果在比较之前不修剪值,则(“==”)的计算结果为false。您现在可以打印吗?欢迎:)我很乐意帮助您。