ObjectDisposedException:无法访问已处置的对象
ObjectDisposedException: Cannot access a disposed object
我正在尝试为我在学校的项目创建一个程序,但遇到了一个问题。我正在使用 LinqPad premium,当我启动该程序时它开始正常。但是,当我第二次或第三次尝试启动它时,它会抛出异常:
"ObjectDisposedException: Cannot access a disposed object."
"Object name: 'Form'."
这是我的代码:
void Main()
{
MenuClass.Main();
}
class MenuClass
{
static public Form MenuWindow = new Form();
static public void Main()
{
MenuWindow.Height = 300;
MenuWindow.Width = 300;
MenuWindow.Text = "Menu";
Button btnPlay = new Button();
btnPlay.Left = 10;
btnPlay.Top = 290;
btnPlay.Text = "Reset";
//btnPlay.Click += btnReset_click;
Button btnTakeTurn = new Button();
btnTakeTurn.Left = 10;
btnTakeTurn.Top = 270;
btnTakeTurn.Text = "Take Turn";
//btnTakeTurn.Click += btnTakeTurn_click;
Graphics g = MenuWindow.CreateGraphics();
MenuWindow.Controls.Add(btnPlay);
MenuWindow.Controls.Add(btnTakeTurn);
//MenuWindow.Paint += f_Paint;
MenuWindow.Show();
}
}
错误发生在 "Graphics g = MenuWindow.CreateGraphics();"
而且当我把它拿出来时它会在 "MenuWindow.Show();"
上执行
求助,我无能为力
变化:
static public Form MenuWindow = new Form();
static public void Main()
{
至:
static public void Main()
{
var MenuWindow = new Form();
确保每次调用都会生成一个新表单。
我正在尝试为我在学校的项目创建一个程序,但遇到了一个问题。我正在使用 LinqPad premium,当我启动该程序时它开始正常。但是,当我第二次或第三次尝试启动它时,它会抛出异常: "ObjectDisposedException: Cannot access a disposed object." "Object name: 'Form'."
这是我的代码:
void Main()
{
MenuClass.Main();
}
class MenuClass
{
static public Form MenuWindow = new Form();
static public void Main()
{
MenuWindow.Height = 300;
MenuWindow.Width = 300;
MenuWindow.Text = "Menu";
Button btnPlay = new Button();
btnPlay.Left = 10;
btnPlay.Top = 290;
btnPlay.Text = "Reset";
//btnPlay.Click += btnReset_click;
Button btnTakeTurn = new Button();
btnTakeTurn.Left = 10;
btnTakeTurn.Top = 270;
btnTakeTurn.Text = "Take Turn";
//btnTakeTurn.Click += btnTakeTurn_click;
Graphics g = MenuWindow.CreateGraphics();
MenuWindow.Controls.Add(btnPlay);
MenuWindow.Controls.Add(btnTakeTurn);
//MenuWindow.Paint += f_Paint;
MenuWindow.Show();
}
}
错误发生在 "Graphics g = MenuWindow.CreateGraphics();" 而且当我把它拿出来时它会在 "MenuWindow.Show();"
上执行求助,我无能为力
变化:
static public Form MenuWindow = new Form();
static public void Main()
{
至:
static public void Main()
{
var MenuWindow = new Form();
确保每次调用都会生成一个新表单。