3

選択したファイルを datagridview から印刷しようとしています。このファイルの場所はデータベースに保存されます。印刷する前に、「ページからページへの部数」を PrintDialog に渡したいと思います。これらの値を PrintDialog に渡すことはできますが、機能しておらず、すべてのページが印刷されており、それも 1 回だけです。私もネット上でそれを見つけるためにたくさん検索しましたが、これを解決できませんでした。

すべてのページ オプションを選択するか、FromPage と ToPage に値を渡すことにより、「n」部印刷するのを手伝ってください。私のコードは:

//string ASSIGNMENT_PATH = dataGridView1.Rows[k].Cells[2].Value.ToString();
string ASSIGNMENT_PATH = "@C:\test.docx";

if (!File.Exists(ASSIGNMENT_PATH))
{
    MessageBox.Show("No exceptional file created by application till now .");
}
else
{
    short noC = Convert.ToInt16(txtNumOfCopies.Text);
    short fP = Convert.ToInt16(txtFromPage.Text);
    short tP = Convert.ToInt16(txtToPage.Text);

    PrintDialog dialog = new PrintDialog();
    dialog.AllowSomePages = true;
    dialog.PrinterSettings.FromPage = fP;
    dialog.PrinterSettings.ToPage = tP;
    dialog.PrinterSettings.Copies = noC;

    DialogResult dialogResult = dialog.ShowDialog(this);

    if (dialogResult == DialogResult.Cancel)
    {
        this.Close();
    }
    if (dialogResult == DialogResult.OK)
    {
        ProcessStartInfo info = new ProcessStartInfo(ASSIGNMENT_PATH);
        info.Verb = "PrintTo";
        info.Arguments = "\"" + printDialog1.PrinterSettings.PrinterName + "\"";
        info.CreateNoWindow = true;
        info.WindowStyle = ProcessWindowStyle.Hidden;
        Process.Start(info);
    }
}
4

1 に答える 1