C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■85338 / 親階層)  TexctBoxRenderer が使えなくなる原因
□投稿者/ Ainax (1回)-(2017/10/11(Wed) 15:00:06)

分類:[.NET 全般] 

Windows 10 x64 Vs Community 2013 C#

下記コードで、プリンタダイアログを表示後に TextBoxRenderer の IsSupported を確認すると False が返ってきてしまいます。
プリンタダイアログ表示前は IsSupported も True が返って来て描画もうまく行っています。
プリンタダイアログ表示後は、IsSupported を無視して描画に進もうとすると、
「クライアント領域で Visual スタイルが現在無効に設定されているため、Visual スタイルに関連する操作でエラーが発生しました。」
とエラーが発生してしまいます。
試しに、描画処理前に Application.EnableVisualStyles(); を入れてみましたが、同じエラーが発生しました。

描画処理部のコード:
        private void Render()
        {
            Bitmap canvas = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            Graphics g = Graphics.FromImage(canvas);

            if (TextBoxRenderer.IsSupported)
            {
                Rectangle textBoxRect = new Rectangle(0, 0, 200, 50);
                TextFormatFlags textBoxFormat = TextFormatFlags.TextBoxControl;
                TextBoxRenderer.DrawTextBox(g, textBoxRect,
                    "テキストボックス", new Font("MS UI Gothic", 20), textBoxFormat,
                    System.Windows.Forms.VisualStyles.TextBoxState.Normal);
            }else
            {
                MessageBox.Show("no-Suported");
            }

            g.Dispose();

            pictureBox1.Image = canvas;
        }

プリントダイアログ表示部:
        private void プリントダイアログPToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Drawing.Printing.PrintDocument pd =
                new System.Drawing.Printing.PrintDocument();

            

            pd.PrintPage +=
                new System.Drawing.Printing.PrintPageEventHandler(pd_PrintPage);

            PrintDialog pdlg = new PrintDialog();
            pdlg.Document = pd;

            

            if (pdlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                // pd.Print();
            }
        }

なお、同様のエラーが発生するパソコンとしないパソコンがあり、発生しないパソコンには Konicaminolta の
プリンタドライバが入っておりません。
エラーが発生するパソコンには C224 や C554 のドライバが入っております。

このドライバが原因でしょうか?

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: TexctBoxRenderer が使えなくなる原因 /Azulean
 
上記関連ツリー

TexctBoxRenderer が使えなくなる原因 / Ainax (17/10/11(Wed) 15:00) #85338 ←Now
Re[1]: TexctBoxRenderer が使えなくなる原因 / Azulean (17/10/11(Wed) 21:51) #85341

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信