Lớp PrintPreviewDialog thực sự là một trình bao bọc xung quanh lớp PrintPreviewControl và đó là những gì đang cung cấp các nút trong thanh công cụ. Bất kỳ hình thức có thể lưu trữ các PrintPreviewControl vì vậy những gì bạn sẽ phải làm là đăng cai PrintPreviewControl trong một hình thức thoại bạn tạo:
public partial class PreviewDialog : Form
{
public PreviewDialog() {
this.printPreviewControl1 = new System.Windows.Forms.PrintPreviewControl();
this.SuspendLayout();
//
// printPreviewControl1
//
this.printPreviewControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.printPreviewControl1.Location = new System.Drawing.Point(0, 0);
this.printPreviewControl1.Name = "printPreviewControl1";
this.printPreviewControl1.Size = new System.Drawing.Size(292, 273);
this.printPreviewControl1.TabIndex = 0;
this.printPreviewControl1.Columns = 1;
this.printPreviewControl1.Zoom = 1.0;
}
}
Các Cột tài sản mà hiện đang được thiết lập để 1 là số lượng các trang được hiển thị bởi sự kiểm soát theo chiều ngang trên màn hình. Thuộc tính Zoom đặt tỷ lệ của các trang, 1.0 là trang đầy đủ; do đó < 1.0 sẽ là một hình ảnh bị giảm và> 1.0 sẽ là một hình ảnh mở rộng trong điều khiển trên mỗi trang. Những gì bạn sẽ muốn làm cho lớp PreviewDialog ở trên là thêm một System.Windows.Forms.ToolStrip vào nó và sau đó thêm các nút để xử lý zoom, và các trang cho mỗi thuộc tính được đề cập (Cột và Zoom).
Trong hình thức mà sẽ mang lại preview lên (không phải là hình thức PreviewDialog), bạn sẽ có mã như sau:
private void buttonPrintPreview_Click(object sender, EventArgs e) {
PreviewDialog dlg = new PreviewDialog();
dlg.ShowDialog();
return;
}
Hy vọng điều này giúp
Nguồn
2010-09-22 20:32:15
thể trùng lặp của [Làm thế nào tôi có thể thay đổi văn bản trên một cửa sổ win32?] (Http://stackoverflow.com/questions/2668731/how -can-i-change-text-on-a-win32-window) –
Cách tiếp cận tương tự, nhưng thay vào đó hãy kích hoạt EnableWindow. –