Chcę wyświetlić okno dialogowe drukowania przed wydrukowaniem dokumentu, aby użytkownik mógł wybrać inną drukarkę przed wydrukowaniem. Kod drukowania:Pokaż okno dialogowe drukowania przed wydrukowaniem
private void button1_Click(object sender, EventArgs e)
{
try
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(PrintImage);
pd.Print();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, ToString());
}
}
void PrintImage(object o, PrintPageEventArgs e)
{
int x = SystemInformation.WorkingArea.X;
int y = SystemInformation.WorkingArea.Y;
int width = this.Width;
int height = this.Height;
Rectangle bounds = new Rectangle(x, y, width, height);
Bitmap img = new Bitmap(width, height);
this.DrawToBitmap(img, bounds);
Point p = new Point(100, 100);
e.Graphics.DrawImage(img, p);
}
czy ten kod będzie mógł wydrukować bieżący formularz?
kiedy nacisnąć, okno dialogowe drukowania przycisk nie otwiera, ale messagebox wyświetlania Drukuj Anulowane jest wyświetlane – user2257581
@ user2257581: testuję to teraz, działa, tworzę nową aplikację i testuję ją ponownie, zobacz to działa – KF2
W 64-bitowym systemie Windows i niektórych wersjach .NET może być konieczne ustawienie 'pdi.UżywanieExDialog = true; 'aby okno dialogowe pojawiło się. Szczegółowe informacje można znaleźć na stronie http://stackoverflow.com/q/6385844/202010. –