• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# フォームプログラミングで)

C# フォームプログラミングで文字を表示できないエラーの原因とは?

このQ&Aのポイント
  • C# フォームプログラミングでフォームに文字を表示しようとすると、引数を2個指定できるメソッド DrawString のオーバーロードが存在しないというエラーが発生します。
  • 空のプロジェクトでフォームを作成すると、普通に DrawString メソッドを使用して文字を表示することができます。
  • しかし、Windows フォームを選択してからフォームを作成すると、DrawString メソッドで文字を表示することができなくなります。この原因は何なのでしょうか?

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

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.2

> Fontは確かエイリアスだったような 何を言っているのかよくわかりませんが……。 以下のような、与えられた数値の2乗を返すメソッドがあったとします。 double Pow(double d){  return d*d; } これを呼び出すときはどう書きますか? Pow(double d)と書きますか?

tranceporter
質問者

お礼

あ、 picosoftさん以前は失礼なこと書いてすいませんでした こんな簡単なミスに答えてくれる方を私は必要としています 部屋に帰ったらさっそく試してみます

tranceporter
質問者

補足

Font font の実引数と仮引数が同じ、という問題は static void PaintHandler1(object objSender,PaintEventArgs e) { Form form = (Form)objSender; Graphics grfx = e.Graphics; grfx.DrawString("test",form.Font,Brushes.Black,0,0); } とこのようにしました。ホントはFormにキャストする以外ないのかなという疑問もあるのですが、、 そうしたら今度は private void Form2_Paint(object sender, PaintEventArgs e) { Form2 form2; form2.Paint += new PaintEventHandler(PaintHandler1); } という部分で「未割り当てのローカル変数form2が使用されました。」 というエラーが グローバルはどこに書いたらよいでしょう? ヘルプを見ると http://msdn.microsoft.com/ja-jp/library/vstudio/4y7h161d(v=vs.120).aspx から初期化されないから?とか そもそもform2はクラスなのに変数って? という疑問が・・・

その他の回答 (1)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

> grfx.DrawString("test",Font font,Brushes.Black,0,0);//←ここでエラー 第2引数が文法的におかしいですが……。

tranceporter
質問者

お礼

えーと どうもPaintイベントとPaintHandler1という 2つがあるのがおかしいのかPaintイベント内にPaintHandler1の 中の処理を書いてPaintHandler1を削除したら動きました。 もっと勉強したいと思います。Picosoftさんありがとうございました。

tranceporter
質問者

補足

えーと Fontは確かエイリアスだったような 少しヒントを下さい

関連するQ&A

専門家に質問してみよう