none
[求助] PageSetupDialog 問題 ~~ RRS feed

  • 問題

  •  程式如下:
        Private Sub mnsPageSetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnsPageSetup.Click
            dlgPageSetup.Document = PrintDocument
            If dlgPageSetup.ShowDialog() = Windows.Forms.DialogResult.OK Then
                PrintDocument.DefaultPageSettings = dlgPageSetup.PageSettings     <----- ***, 設中斷點
            End If
        End Sub

    - 當對話框打開, 上下左右Margin設為10, 按確定後, 執行到***, 得到PageSettings的Margins=(39,39,39,39), 再打開對話框, 上下左右Marginv顯示為3.9, 而不是10, 為什麼? 要如何修改?

    謝謝回覆!!
    2009年2月20日 上午 05:08

解答

  • 出血是列印邊寬的業界術語,原先你寫的很少,我以為你的設定小於印表機的硬體最小值,被強迫改回來。

    從你第二段的補充,你需要在這句前:

    If dlgPageSetup.ShowDialog() = Windows.Forms.DialogResult.OK Then 

    加上
    dlgPageSetup.EnableMetric = True 

    詳細說明請參閱線上手冊。所以你再沒加此設定值前,會依預設轉換為百分之一英吋。
    2009年2月20日 上午 07:12

所有回覆

  • 請先確認你印表機的硬體出血
    用 PageSetupDialog 設定的出血不能小於硬體出血最小值。

    2009年2月20日 上午 06:18
  • 請問硬體出血是指什麼? 要怎麼確認硬體出血?

    應該和印表機無關, 因為不論我邊界設多少, 中斷點看到的數值都不是我設定的.

    Ex:
    對話框邊界我設20(mm), 中斷點我看到的 dlgPageSetup.PageSettings.Margins=79
    對話框邊界我設10(mm), 中斷點我看到的 dlgPageSetup.PageSettings.Margins=39

    且程式一執行, 對話框預設顯示為10, 按確認後再打開, 對話框顯示為39, 按確認後再打開, 對話框顯示為15, ...
    期間我並沒有修改設定, 只是按確定, 但每次對話框打開, 值就變了????不知道為什麼???


    謝謝回覆!!
    2009年2月20日 上午 06:43
  • 出血是列印邊寬的業界術語,原先你寫的很少,我以為你的設定小於印表機的硬體最小值,被強迫改回來。

    從你第二段的補充,你需要在這句前:

    If dlgPageSetup.ShowDialog() = Windows.Forms.DialogResult.OK Then 

    加上
    dlgPageSetup.EnableMetric = True 

    詳細說明請參閱線上手冊。所以你再沒加此設定值前,會依預設轉換為百分之一英吋。
    2009年2月20日 上午 07:12
  • 謝謝!! 問題已解決!!

    再請問:

    Brush類別和Color類別的Color設定可以互相轉換嗎?

    我想將:
    g.DrawString(stringToPrint, printFont, Brushes.Black, e.MarginBounds, StringFormat.GenericTypographic)

    改為:
    g.DrawString(stringToPrint, printFont, txtReceive.ForeColor, e.MarginBounds, StringFormat.GenericTypographic)

    但是編譯錯誤!!

    謝謝回覆!!

    2009年2月20日 上午 07:57
  •  Hi, 你可以用下列的方式去做

    Dim B As New SolidBrush(Color.Black) 

    態度決定一切 ! - blog : http://bauann-makeit.blogspot.com/
    2009年2月20日 上午 08:21
    版主
  •  謝謝!! 問題已解決!!
    2009年2月20日 上午 08:33