Я делаю простую тестовую программу на рабочем столе. Я хочу иметь возможность щелкнуть элемент меню на панели menutool (Печать) и распечатать документ на моем принтере. Следующий код - это то, что я использую, но я не уверен, что это все, что мне нужно для простой печати. Я новичок в C# и, следовательно, не полностью знаком с классом printDocument.Печать файла .rtf или .txt с помощью кнопки PRINT?
private void printToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
StreamReader streamToPrint = new StreamReader
("C:\\My Documents\\MyFile.txt");
try
{
Font printFont = new Font("Arial", 10);
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(myFileName);
pd.Print();
}
finally
{
streamToPrint.Close();
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
Единственная ошибка, которую я получаю сейчас, заключается в том, что доступ к пути запрещен. Я получаю эту ошибку в любом каталоге или диске, которые я использую. Также, если я хочу сохранить каталог, чтобы пользователь мог печатать из любого файла в любом месте, было бы лучше, если бы файл был открыт в текстовом поле с богатым текстом, потому что человек действительно напечатал документ, который еще не был открыт. Я изменил его так, чтобы он просто ссылался на myFile, а не на каталог, и он работает. Спасибо вам за помощь. –
try { content = File.ReadAllText (myFileName); PrintDocument pd = new PrintDocument(); pd.PrintPage + = новый PrintPageEventHandler (pd_PrintPage); pd.Print(); } –