2017-06-17 139 views
0

我正试图在学校为我的项目创建一个程序,并且遇到了问题。我正在使用LinqPad Premium,当我启动该程序时,它开始很好。但是,当我尝试第二次或第三次启动它时,它会抛出异常: “ObjectDisposedException:无法访问处置的对象。” “对象名称:'Form'。”ObjectDisposedException:无法访问处置的对象

这是我的代码:

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(); 
    } 
} 

那里说会出现错误 “图形G = MenuWindow.CreateGraphics();” 也当我把它拿出来它在“MenuWindow.Show();”

请帮忙,因为我在这种情况下无能为力。

回答

0

变化:

static public Form MenuWindow = new Form(); 
static public void Main() 
{ 

到:

static public void Main() 
{ 
    var MenuWindow = new Form(); 

,以确保每次调用生成新的形式。