-PR-
解決済みの質問
質問:No.4254020
すぐに回答ほしいです
お気に入り投稿に追加する (0人が追加しました)
回答数2
閲覧数5944
C#「オブジェクト参照が必要です」(初心者)
Visual C# 2008を学習中なんですが、とりあえず何か作ってみようと思って、パラパラマンガに挑戦してみました。
Form1にpictureBox1を作り、waitを入れてイメージを書き換えるという単純なものです。
ところが実行しようと思ったら、「静的でないフィールド、メソッド、またはプロパティ’WindowsFormApplication1.Form1.pictureBox1’でオブジェクト参照が必要です」というエラーが出ます。その際のフォーカスは、main()内の
Form1.pictureBox1.image = Image.FromFile("motion1.png");
”Form1.pictureBox1”に当てられています。

何が原因と考えられるでしょうか。
もし情報不足であればご指摘いただくか、あるいはこの目的においてやらなければいけないこと、を大雑把に教えていただくだけでも幸いです。
よろしくお願いします。
投稿日時 - 2008-08-15 23:09:11
質問者が選んだベストアンサー
回答:No.2
main()内に記述されているとのことですので、たぶん、
Form1.pictureBox1.Image=Image.FromFile("motion1.png");
Application.Run(new Form1());
と書いているのではないでしょうか?

連載 改訂版 C#入門 第3章 クラスとインスタンス
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_003/cs2_003_01.html#cs0302

ここであるように、オブジェクト指向にはクラスとインスタンスという概念があります。
今のコードでは、Form1クラスを操作しようとしているのでそのようなエラーが出ます。

具体的な解決方法としては、PictureBoxに初期画像を設定する処理をForm1のコンストラクタでやるのがいいと思います。
その際、redfox63さんがおっしゃられるように
this.pictureBox1
と記述することが必要です。(thisは自分自身のインスタンスを指します)

後は、Windowsフォームで一定間隔での処理をするための「Timerコンポーネント」について調べてみたらいいと思います。

タイマにより一定時間間隔で処理を行うには?(Windowsタイマ編)
http://www.atmarkit.co.jp/fdotnet/dotnettips/372formstimer/formstimer.html

MSDNライブラリ Timerクラス
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.timer.aspx
投稿日時 - 2008-08-16 05:01:49
この回答を支持する
(現在0人が支持しています)
お礼
ご回答いただき、ありがとうございました。
ご紹介いただいたサイトも大変勉強になります。
投稿日時 - 2008-08-19 10:37:45
この質問は役に立ちましたか?
4人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答
回答:No.1
デバッグ実行でエラーになるコード特定しその周辺のコードを投稿しましょう

他のフォームから操作するのでなければ
Form1.pictureBox1と記述するより this.pictureBox1といった記述の方がいいように思います
投稿日時 - 2008-08-15 23:30:38
この回答を支持する
(現在0人が支持しています)
お礼
ご回答いただき、ありがとうございました。
無事解決しました。
投稿日時 - 2008-08-19 10:36:45
もっと聞いてみる
関連するQ&Aはこちら
Visual C# 2008を使っています。 pictureboxを動的に配置し、そのpictureboxをクリックすることで 初めて押せるようなボタンを用意したいと思っています。(通常は「ボタン名...
Visual C# 2008を使用しています。 ボタンを押すとpictureboxに画像が表示されるプログラムを作成しました。 今度は、その表示された画像をクリックし、別のボタンを押すことでその画像...
度々質問して申し訳ありません。 Controls.Addで親子にしたpicturebox はちゃんと透過処理してくれるのですが、 同じ親pictureboxの子供たち(兄弟)同士の透過処理が行われませ...
この他の関連するQ&Aをキーワードで探す
プログラミングのサブカテゴリ
RSS
-PR-
PR
-PR-