我确定这个问题已经得到了解答,但在不断搜索了一个小时之后,我仍然很困惑。
我正在学习C#和适应它的工作方式,但有一件事让我感到困惑:如何使在方法中创建的对象可供其他方法使用。
我正在开发一个进行图像处理的应用程序。我希望在窗体加载时创建程序所需的对象,然后使用另一个方法对其进行更改。这似乎很简单。 下面是代码的关键部分:
我想创建位图对象“Bmp1”,然后我想使用pushPixels()方法对该对象进行更改。
问题在于,方法pushPixels抱怨“当前上下文中不存在名称'Bmp1'”。
我认为这基本上是作用域的问题。即对象Bmp1仅存在于InitializeBMPObjects方法的范围内。但是,如果我想在窗体加载时创建一堆对象,我应该在方法外创建对象吗?还是需要以某种方式标记它们为全局对象?
谢谢。
我正在学习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()方法对该对象进行更改。
问题在于,方法pushPixels抱怨“当前上下文中不存在名称'Bmp1'”。
我认为这基本上是作用域的问题。即对象Bmp1仅存在于InitializeBMPObjects方法的范围内。但是,如果我想在窗体加载时创建一堆对象,我应该在方法外创建对象吗?还是需要以某种方式标记它们为全局对象?
谢谢。