PowerTools MultiRow for Windows Forms 8.0J
ColumnMargin プロパティ
使用例 

複数列で印刷するときの列間の余白を示す値を取得または設定します。
構文
Public Property ColumnMargin As Integer
public int ColumnMargin {get; set;}

プロパティ値

列間の余白を示すSystem.Int32値。既定値は10です。
例外
例外解説
System.ArgumentOutOfRangeException指定された値が0未満です。
解説
これはPagingModePagingMode.MultiColumnsの場合に使用されます。各列の2つのセクションの間に、ここで指定したスペースが追加されます。
使用例
次のサンプルコードは、PrintStyle.ContentスタイルとPagingMode.MultiColumnsを使用してGcMultiRowを印刷する方法を示します。MultiColumnsPrintOrderプロパティを使用して、PagingMode.MultiColumnsモードでのすべての行の印刷順序を指定します。隣接する2つの列の間には15ピクセルの間隔を空けます。このサンプルコードは、GcMultiRow.PrintSettingsに示されている詳細なコード例の一部を抜粋したものです。
void setContentAndMultiColumnButton_Click(object sender, EventArgs e)
{
    Template template1 = CreateTemplate(1, 21);
    AddPrintInfoCellColumnFooterSection(template1, 21);
    this.gcMultiRow1.Template = template1;
    gcMultiRow1.RowCount = 81;

    //Only the content(Text,Image) is printed, the backgound, border will not be printed.
    gcMultiRow1.PrintSettings.PrintStyle = PrintStyle.Content;
    gcMultiRow1.PrintSettings.AutoFitWidth = false;
    //Only one Row will be printed to one page. You can print ColumnHeader to each page through setting PrintHeader property to AllPages.
    gcMultiRow1.PrintSettings.PagingMode = PagingMode.MultiColumns;
    //The all Columns in each page will be aligned by MiddleCenter.
    gcMultiRow1.PrintSettings.Alignment = MultiRowContentAlignment.MiddleCenter;
    //All Rows will be printed.
    gcMultiRow1.PrintSettings.PrintRange = MultiRowPrintRange.AllRows;
    //In MultiColumns mode, on each Column's head, the ColumnHeader is filled. If you can set this to FirstPage, only first Column exists one ColumnHeader.
    gcMultiRow1.PrintSettings.PrintHeader = PrintHeader.AllPages;
    //Between each Column in page, there will exist 15 pixels space.
    gcMultiRow1.PrintSettings.ColumnMargin = 15;

    if (flag)
    {
        gcMultiRow1.PrintSettings.MultiColumnsPrintOrder = PrintOrder.OverThenDown;
        flag = false;
    }
    else
    {
        gcMultiRow1.PrintSettings.MultiColumnsPrintOrder = PrintOrder.DownThenOver;
        flag = true;
    }
    gcMultiRow1.PrintSettings.ZoomFactor = 1f;
    try
    {
        gcMultiRow1.PrintPreview();
        //If you have a printer, you can execute the following code directly instead code above.
        //gcMultiRow1.Print(true);
    }
    catch (Exception ex)
    {
        // Can't find printer driver.
        MessageBox.Show(ex.Message);
    }
    label.Text = "In Content style, only the Text and Image are printed; In MultiColumns mode, the MultiColumnsPrintOrder can control all Rows printing order; The ColumnMargin property will set 15 pixels space between each column;(Click this button again, the MultiColumnsPrintOrder will change to another effect.)";
}
Private Sub setContentAndMultiColumnButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles setContentAndMultiColumnButton.Click
    Dim template1 As Template = CreateTemplate(1, 21)
    AddPrintInfoCellColumnFooterSection(template1, 21)
    Me.gcMultiRow1.Template = template1
    gcMultiRow1.RowCount = 81

    'Only the content(Text,Image) is printed, the backgound, border will not be printed.
    gcMultiRow1.PrintSettings.PrintStyle = PrintStyle.Content
    gcMultiRow1.PrintSettings.AutoFitWidth = False
    'Only one Row will be printed to one page. You can print ColumnHeader to each page through setting PrintHeader property to AllPages.
    gcMultiRow1.PrintSettings.PagingMode = PagingMode.MultiColumns
    'The all Columns in each page will be aligned by MiddleCenter.
    gcMultiRow1.PrintSettings.Alignment = MultiRowContentAlignment.MiddleCenter
    'All Rows will be printed.
    gcMultiRow1.PrintSettings.PrintRange = MultiRowPrintRange.AllRows
    'In MultiColumns mode, on each Column's head, the ColumnHeader is filled. If you can set this to FirstPage, only first Column exists one ColumnHeader.
    gcMultiRow1.PrintSettings.PrintHeader = PrintHeader.AllPages
    'Between each Column in page, there will exist 15 pixels space.
    gcMultiRow1.PrintSettings.ColumnMargin = 15

    If flag Then
        gcMultiRow1.PrintSettings.MultiColumnsPrintOrder = PrintOrder.OverThenDown
        flag = False
    Else
        gcMultiRow1.PrintSettings.MultiColumnsPrintOrder = PrintOrder.DownThenOver
        flag = True
    End If
    gcMultiRow1.PrintSettings.ZoomFactor = 1.0F
    Try
        'If you have a printer, you can execute the following code directly instead code above.
        'gcMultiRow1.Print(true);
        gcMultiRow1.PrintPreview()
    Catch ex As Exception
        ' Can't find printer driver.
        MessageBox.Show(ex.Message)
    End Try
    label.Text = "In Content style, only the Text and Image are printed; In MultiColumns mode, the MultiColumnsPrintOrder can control all Rows printing order; The ColumnMargin property will set 15 pixels space between each column;(Click this button again, the MultiColumnsPrintOrder will change to another effect.)"
End Sub
参照

PrintSettings クラス
PrintSettings メンバ
SectionMargin プロパティ

 

 


© 2008-2015 GrapeCity inc. All rights reserved.