winform中,输入文件名,在文件夹中自动查找所输入的文件并打开,打印
时间: 2023-12-14 18:40:22 浏览: 95
您可以使用`OpenFileDialog`组件来让用户选择要打开的文件,然后使用`StreamReader`类来读取文件内容,最后使用`PrintDocument`和`PrintDialog`组件来打印文件内容。
以下是一个示例代码:
```csharp
private void btnOpenFile_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
openFileDialog.Title = "Select a Text File";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string fileName = openFileDialog.FileName;
StreamReader reader = new StreamReader(fileName);
string fileContent = reader.ReadToEnd();
reader.Close();
PrintDocument printDocument = new PrintDocument();
printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage);
PrintDialog printDialog = new PrintDialog();
printDialog.Document = printDocument;
if (printDialog.ShowDialog() == DialogResult.OK)
{
printDocument.Print();
}
}
}
private void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
string fileName = ((PrintDocument)sender).DocumentName;
StreamReader reader = new StreamReader(fileName);
string fileContent = reader.ReadToEnd();
reader.Close();
e.Graphics.DrawString(fileContent, Font, Brushes.Black, e.MarginBounds, StringFormat.GenericTypographic);
}
```
这个示例代码使用`OpenFileDialog`组件来让用户选择要打开的文件,然后使用`StreamReader`类来读取文件内容。接下来,它创建了一个`PrintDocument`对象,并为其添加了一个`PrintPage`事件处理程序。在`PrintPage`事件处理程序中,它使用`Graphics.DrawString`方法来绘制文件内容,并将其打印到打印机上。最后,它使用`PrintDialog`组件来让用户选择打印机,并打印文件内容。
阅读全文