PrintPreviewDialog打印预览框弹出的位置能设置当前窗体居中吗?我怎么设置都没有效果。预览框都出现在当前窗体的任意位置上,每次都不同。SetDesktopLocation SetDesktopBounds 这两个方法都试过了,没什么效果,求达人出来帮助解决下,谢谢。

解决方案 »

  1.   

    FormStartPosition = CenterScreen 这是你要的吗?
      

  2.   

    printPreviewDialog1.StartPosition = FormStartPosition.CenterScreen;要不全屏printPreviewDialog1.WindowState = FormWindowState.Maximized;
    printPreviewDialog1.ShowDialog();
      

  3.   


    printPreviewDialog1.StartPosition = FormStartPosition.Manual;
    printPreviewDialog1.DesktopBounds = new Rectangle(new Point(10, 10), new Size(500, 500)); //第一个参数是位置,第二个参数是大小
    printPreviewDialog1.ShowDialog();
      

  4.   


    printPreviewDialog1.StartPosition这个属性好像是没有的;
    printPreviewDialog1.DesktopBounds = new Rectangle(new Point(10, 10), new Size(500, 500));
    这句话设置了一下对预览框里内容的位置倒是起作用了,但是预览框自身弹出的位置还是没有效果。
     public void Preview(bool blnShowPageSetup) {
         try {
             PrintDocument pd = new PrintDocument();
             pd.DefaultPageSettings.PaperSize = new PaperSize("Custom", 728, 394);
             pd.DefaultPageSettings.Landscape = false;
             pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
             if (blnShowPageSetup) {
                 PageSetupDialog pageSetup = new PageSetupDialog();
                 pageSetup.Document = pd;
                 DialogResult Rc = pageSetup.ShowDialog();
                 if (Rc == DialogResult.Cancel) {
                     return;
                 }
             }
             PrintPreviewDialog previewDialog = new PrintPreviewDialog();
             previewDialog.Document = pd;
             previewDialog.ShowInTaskbar = true;
             previewDialog.ShowDialog();
         } finally {}
     }
    贴一下项目中写的预览框的代码,希望各位看下为什么不能弹框居中呢?环境是VS2010+C#4.0
      

  5.   

    VS2010 4.0 已经测试StartPosition智能提示没有,但是是存在的,你查看下printPreviewDialog类的元数据
      

  6.   

    我也不明白为什么智能提示里面没有,可能是智能提示xml文件里面缺少了