请教各位高手一个问题,c#里面如果设置打印页边距呢?
我要打印窗体里面的flexgrid,但由于宽度过宽,一页分成了两页。。
纸张方向已经改成横向了,但还是宽。以下是代码:string admin="print";
this.c1FlexGrid1.PrintGrid(admin);

解决方案 »

  1.   

    PageSettings.Margins 
    获取或设置该页的边距。
    命名空间:System.Drawing.Printing
    C# 
    public Margins Margins { get; set; }
     
      

  2.   

    谢谢王员外\行者无疆.
    我看了一下,没有margins这个方法啊.自己新建的话怎么做呢?请指点,谢谢!
      

  3.   

    楼主确定已经引用了命名空间:System.Drawing.Printing 
      Margins margins = new Margins(100, 100, 100, 100);  PrintDocument pd = new PrintDocument();
      pd.DefaultPageSettings.Margins = margins;
      

  4.   


    大哥,你这个问题。。
    其实你要是的FlexGrid中的打印的设置了,你在外面写一些东西没有用啊。
    你要看看FlexGrid中关于打印是怎么做的?
    你给它设置什么东西呢?你看看你的PrintGrid()方法里面的参数都有什么,试着看看改改就可以了。
      

  5.   


      'set Margins & Font
                Me.PrintParameters.PrintDocument.DefaultPageSettings.Margins.Left = 100
                Me.PrintParameters.PrintDocument.DefaultPageSettings.Margins.Right = 100
                Me.PrintParameters.PrintDocument.DefaultPageSettings.Margins.Top = 100
                Me.PrintParameters.PrintDocument.DefaultPageSettings.Margins.Bottom = 100            Me.PrintParameters.FooterFont = New System.Drawing.Font("MS Gothic", 8.0!)
                Me.PrintParameters.HeaderFont = New System.Drawing.Font("MS Gothic", 11.0!, System.Drawing.FontStyle.Bold)
         '印刷
                Return printMe.PrintGrid(Me.PrintParameters, isPrintDirectory)