• ベストアンサー

C#でusing System.Drawing.Printing;を使って

using System.Drawing.Printing;を使って プリンターがインストールされていないとエラーが出ます 使う前に回避しようとしてもそれ以前にエラーが出てしまいます 回避する方法はないでしょうか? よろしくお願いいたします

質問者が選んだベストアンサー

  • ベストアンサー
  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.1

>それ以前にエラーが出てしまいます StreamReaderで出ているのでしょうか? try...Catch...Finally を使用してみてはどうでしょうか?

easy_gontyan
質問者

お礼

ありがとうございます try...Catchを試したのですが 駄目でしたのでMainの所にあらかじめ プリンターを調べなければメッセージを出し 閉じるようにしました ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Using System.Drawing がうまく使えなくて困っていま

    Using System.Drawing がうまく使えなくて困っています. C# に取り組んでいる初心者です.先日も、この欄でご教示を戴きました.有難うございました. 再度恐縮ですが、お願いをいたします. 簡単な Y = f(X) のグラフを描かせたいと考えています. ところが、肝心な DrawLine の命令が使えません. この命令は、System.Drawing と言う NameSpace に属していると思います. ところが、using System.Drawing とすると、Drawing に朱色で下線が付きます. なぜ受けつけないのか、さっぱりわかりません. そこで、下記のように、プログラムの頭に、いろんな NameSpace を書いてみました using System; using System.Math; using System.Console; using System.IO; using System.Text; using System.Collections; using System.Drawing; using System.Windows.Forms; 結果は、最後の二つの、 Drawing と Windows に朱下線が付きます. エラーメッセージはつぎのとおりです. 「エラー1 型または名前空間名 'Drawing' は名前空間 'System' に存在しません。アセンブリ参照が不足しています」 いったい、どう言うことでしょう? お手数をかけて申し訳ありませんが、 どうぞ、よろしくご教示をお願いします. グラフに使用するX,Yの座標値の計算は、問題なく終わっています. テーマは、電子回路の回路網の解析です. すべて数値計算になりますので、ニュートン近似か、2分法で最適値を求めています 使用している環境は、次のとおりです. NEC ValueOne CPU Athlon 64x2 4200+ Memory 1GB OS XP SP3 Visual C# 2010 Express

  • System::drawing内のColor構造体

    System::drawing内のColor構造体が読めず、ColorがC2061構文エラー:識別子となってしまいます。using nameplaseにはSystem::drawingがあります。プロジェクトの参照にもSystem::drawingがあります。対処法を教えていただけないでしょうか

  • C# のシステムファイルのソースを見たいです。

    VC++6.0 は、MFCソースが公開されていましたが C#は公開されていないのでしょうか? 以下のシステムファイルはどの場所に存在しているのでしょうか? using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.Mobile; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.MobileControls; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls;

  • C# using の有効範囲

    プログラムの改良中、 using IWshRuntimeLibrary; をソースの一番上に追加したところ、今まで正常に動いていた部分に以下のエラーが出るようになりました。 「Fileは System.IO.File と IWshRuntimeLibrary.File の間のあいまいな参照です」 追加した名前空間が必要な部分だけに using IWshRuntimeLibrary; が有効になるようにするにはどのように記載すればよいのでしょうか? よろしくお願いします。

  • System::Drawing::Color::XXXXを変数に代入可能?

    連続で質問するのも申し訳ないのですが・・・ VS2005 C++ Expressを使ってWindowsフォームアプリケーションを作っています。(C++/CLI) ボタンなどのフォームのプロパティに、色を指定するものがあると思いますが、例えばBackColorを白に変更したい場合、 this->button1->BackColor = System::Drawing::Color::White; のように書けると思います。 この、「System::Drawing::Color::White」の部分を変数のようにして記述したいのですが、どのように宣言した型を使用すればよいのでしょうか? 例えば仮に「System::Drawing::Color::White」がString文字列であれば、 void func1(int choice){ String^ hoge;   if(!choice){     hoge = System::Drawing::Color::White;   } else {     hoge = System::Drawing::Color::Red;   }   this->button1->BackColor = hoge; } こんな風にすると、func1(0);と呼ばれるとボタンの背景が白くなり、0以外の引数だと赤くなると思います。 ですが、System::Drawing::Color::XXXはStringではないのでできません。 この場合、hogeをどのような形で定義すればいいのでしょうか? あるいは別の方法がありますでしょうか? よろしくお願いします。

  • System.Drawing.dllでエラー

    こんにちわ。 いまVB.netでプログラミングの勉強をしている者です。 そこで「http://www.microsoft.com/japan/msdn/vstudio/stdbook/samples.asp」からVB.netのサンプルコードをダウンロードして見ているのですが, 「Chapter3」の「Input Controls」などで実行しようとすると, 「'System.IO.FileNotFoundException' の初回例外が System.Drawing.dll で発生しました。 'System.InvalidOperationException' の初回例外が MyCheckBox.exe で発生しました。」というエラーが発生します。 これはどのように原因でしょうか? 教えてください。よろしくお願いします。

  • VB2005 Vistaで印刷ができません

    現在VB2005を利用して文字列をプリンタから出力するプログラムを制作しています。 OSがXPのパソコンを使ってこのプログラムを実行すると、印刷できるのですが、OSがVistaのパソコンから実行するとエラーが出てしまいます。 XP・Vistaともに Microsoft.NET Framework 2.0 が入っており、VB2005も正常に動作しています。 また、通常使うプリンタの設定もしています。 実行時に出力されるエラーの内容は下記のとおりです。 //ここから--------------------------------------- System.ComponentModel.Win32Exception: アクセスが拒否されました。 場所 System.Drawing.Printing.StandardPrintController.OnStartPrint(PrintDocument document, PrintEventArgs e) 場所 System.Windows.Forms.PrintControllerWithStatusDialog.OnStartPrint(PrintDocument document, PrintEventArgs e) 場所 System.Drawing.Printing.PrintController.Print(PrintDocument document) 場所 System.Drawing.Printing.PrintDocument.Print() 場所 Admin.B02_10_10_SeatturnPrint.btnPrintOut_Click(Object sender, EventArgs e) 場所 C:\パス\B02_10_10_SeatturnPrint.vb:行 74 //ここまで--------------------------------------- 理由がわからず困っています。どうかご助力お願いします。

  • C# MakeTransparent関数について

    C#において元画像の1ピクセルを指示し,画像の透過処理を MakeTransparent関数を用いて実行しようとしたところ, 「'System.Drawing.Image' に 'MakeTransparent' の定義がありません。」 と表記されビルドすることができませんでした。 制作環境はVisual Studio.NET 2003,VisualC# 2005 Express Edition の2つを用いたのですがどちらも同じエラーでありました。 初期の定義である using System.Drawing にはMakeTransparent関数 を使用することが出来る定義は存在していないのでしょうか? 宜しければ回答をお願いします。

  • C#でstop()が使えない。

    http://kana-soft.com/tech/sample_0012_3.htm#WebBrowser_Stop このHPを参考にstop()メソッドを使おうとしたのですがSTOP()に下記のエラーが出ます。 'System.Windows.Forms.WebBrowser' に 'stop' の定義が含まれておらず、型'System.Windows.Forms.WebBrowser' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 VS2010を使用し、.NETは4なので問題なく使えると思うのですが原因不明です。 以下ソースです。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace busywait4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { webBrowser1.Navigate("http://yahoo.co.jp");//もう一度、アクセスしなおす。 } int i; private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { webBrowser1.stop(); }

  • C#でオブジェクトの配列を使う

    開発環境はMicrofoft visual stdio 2005 で開発言語はC#を使い、Windousアプリケーションでプログラミングしているのですが オブジェクトを配列でせんげんし、オブジェクトのメンバを使うとエラーが出てしまいます。ソースコードで説明すると using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 {   public partial class Form1 : Form   {     public class car     {       int a;       public void set(int i)       {         a = i;       }     }     public Form1()     {       InitializeComponent();     }     private void label1_Click(object sender, EventArgs e)     {       car[] bike = new car[1];       bike[0].set(1);//ここでひっかかる     }   } } これをじっこうするとデバックは通るのですが、label1_Clickイベントが発生すると、「NULLの場所を参照しています」という意味のエラーが出てしまいます。 C#はほとんど初心者なので、初歩的なミスだとおもうんですが、 よろしければ御回答をお願いします。