この質問はすでに回答されていると確信していますが、1時間の絶え間ない検索の後でも、私はまだ非常に混乱しています.
私は C# を学んでいて、物事がどのように機能するかに慣れてきていますが、私を困惑させるのは、あるメソッドで作成されたオブジェクトを他のメソッドで使用できるようにする方法です。
私はいくつかの画像処理を行うアプリに取り組んでいます。フォームの読み込み時にプログラムが使用するオブジェクトを作成し、別のメソッドで変更したいと考えています。十分に単純に思えます。コードの一部は次のとおりです。
private void Form1_Load(object sender, EventArgs e)
{
InitializeBMPObjects();
}
public void InitializeBMPObjects ()
{
Bitmap Bmp1 = new Bitmap(320, 226);
}
public void pushPixels()
{
Graphics g = Graphics.FromImage(Bmp1);
//Do some graphics stuff....
}
ビットマップ オブジェクト「Bmp1」を作成し、次に pushPixels() でそのオブジェクトに変更を加えたいと考えています。
問題は、「名前 'Bmp1' が現在のコンテキストに存在しない」ため、メソッド pushPixels が不平を言うことです。
問題は基本的にここの範囲だと思います。オブジェクト Bmp1 がメソッド InitializeBMPObjects のスコープ内にのみ存在すること。しかし、フォームの読み込み時に一連のオブジェクトを作成したい場合はどうすればよいでしょうか。メソッドの外でオブジェクトを作成する必要がありますか? それとも、何らかの方法でこれらをグローバル オブジェクトとしてフラグを立てる必要がありますか?
ありがとうございました。