PrintPreviewDialog'da Yazıcı Ayarları Yapma

by Timur 24. Kasım 2011 09:51

Merhaba.

PrintPreviewDialog içerisinde yazıcı ayarlarını yapabilmek için, bu dialog içerisindeki ToolStrip'e erişip, istediğimiz bir ToolStripButton'u koyabiliriz. Bu ToolStripButton'un click event'inde de gerekli ayarlamaları yapabiliriz.

ToolStripButton button = new ToolStripButton();
button.Height = 22;
button.Click += new EventHandler(button_Click);
button.Text = Properties.Resources.Txt_PrinterSettings;

PrintPreviewDialog dialog = new PrintPreviewDialog();
((Form)dialog).WindowState = FormWindowState.Maximized;
for (int i = 0; i < dialog.Controls.Count; i++)
{
	if (dialog.Controls[i] is ToolStrip)
	{
		ToolStrip strip = dialog.Controls[i] as ToolStrip;
		strip.Items.Add(button);
		break;
	}
}
PrintDocument document = new PrintDocument();
document.PrintPage += new PrintPageEventHandler(document_PrintPage);
dialog.Document = document;
dialog.ShowDialog();
button.Click -= new EventHandler(button_Click);
button.Dispose();
button = null;

 

void button_Click(object sender, EventArgs e)
{
	PrintPreviewDialog preview = ((ToolStripButton)sender).GetCurrentParent().Parent as PrintPreviewDialog;
	if (preview != null)
	{
		using (PrintDialog dialog = new PrintDialog())
		{
			dialog.PrinterSettings.PrinterName = preview.Document.PrinterSettings.PrinterName;
			if (dialog.ShowDialog() == DialogResult.OK)
			{
				preview.Document.PrinterSettings.Copies = dialog.PrinterSettings.Copies;
				preview.Document.PrinterSettings.PrinterName = dialog.PrinterSettings.PrinterName;
			}
		}
	}
}

Tags: , ,

Yorum ekle

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading

Hakkımda

Evli, mutlu, çocuksuz...

Bilgisayar Mühendisi...

.Net Developer...

Crs Soft