C# 如何触发PrintPreviewDialog?
上面的代码运行良好。我只是不知道如何更改代码,以便我可以先预览Word文档。好的,所以我昨晚回家后做了这件事,我相信我找到了答案。它不是完美的,但它确实让你朝着正确的方向前进。顺便说一句,我为此创建了一个简单的C# 如何触发PrintPreviewDialog?,c#,print-preview,C#,Print Preview,上面的代码运行良好。我只是不知道如何更改代码,以便我可以先预览Word文档。好的,所以我昨晚回家后做了这件事,我相信我找到了答案。它不是完美的,但它确实让你朝着正确的方向前进。顺便说一句,我为此创建了一个简单的WinForms应用程序,您需要编辑代码以满足您的需要 守则: using (PrintDialog printDialog1 = new PrintDialog()) { if (printDialog1.ShowDialog() == DialogResult.OK) {
WinForms
应用程序,您需要编辑代码以满足您的需要
守则:
using (PrintDialog printDialog1 = new PrintDialog())
{
if (printDialog1.ShowDialog() == DialogResult.OK)
{
System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(saveAs.ToString());
info.Arguments = "\"" + printDialog1.PrinterSettings.PrinterName + "\"";
info.CreateNoWindow = true;
info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
info.UseShellExecute = true;
info.Verb = "PrintTo";
System.Diagnostics.Process.Start(info);
}
}
}您是否尝试过使用
PrintPreviewDialog
?是否检查了MSDNPrintPreviewDialog
?或者在代码PrintDialog PrintDialog=new PrintDialog()中尝试类似的操作;printDialog.ShowDialog()代码>忘了提到,根据标题,实际上我是在问PrintPreviewDialog在哪里发挥作用?AustinSalonen,Pilgerstorfer:我看过文档。但正如我对@Brian的评论,我没有看到如何将Word文档绑定到PrinDocument文档。DJ,我已经在use()中使用了代码。我已经看到了这段代码。问题是我不知道如何将文档绑定到Word文档。所以我使用前面提到的代码。但是这段代码没有预览对话框。我使用Word Interop创建我要打印的Word文档。但这两行代码没有产生任何结果<代码>wordApp.Visible=true;aDoc.PrintPreview()代码>。这就是为什么我尝试使用PrintPreviewDialog、PrintDialog等。哇,这是我第一次在这里无法解决我的问题。我非常感谢你的尝试。竖起两个大拇指。但我不能接受这一点作为我问题的答案,因为我也知道这一代码。它只适用于txt文档,而不适用于Word文档。你的回答确实给了我方向,现在我将尝试搜索“reading Word content streamreader c”。有什么好的关键词吗?总是很乐意帮助Iyas。事实上,只要时间允许,我仍在为此制定解决方案。最近工作一直很忙。
namespace WindowsFormsApplication1
{
using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
System.Drawing.Printing.PrintDocument doc = new System.Drawing.Printing.PrintDocument();
PrintPreviewDialog dlg = new PrintPreviewDialog();
dlg.Document = doc;
doc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.PrintPage);
dlg.ShowDialog();
}
private void PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
try
{
string fileName = @"C:\Users\brmoore\Desktop\New Text Document.txt";
StreamReader sr = new StreamReader(fileName);
string thisIsATest = sr.ReadToEnd();
sr.Close();
System.Drawing.Font printFont = new System.Drawing.Font("Arial", 14);
e.Graphics.DrawString(thisIsATest, printFont, Brushes.Black, 100, 100);
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
}
}