2014-04-16 46 views
0

我有form1,form1中有一个类Events。将表单中的对象传递给另一个表单。运行

public partial class Form1 : Form 
    { 
    public class Events 
    { 
     public string Time { get; set; } 
     public int PlayerId { get; set; } 
     public int TeamId { get; set; } 
     public int Event { get; set; } 
     public string DisplayPbp { get; set; } 
     public int X { get; set; } 
     public int Y { get; set; } 
     public List<int> Change { get; set; } 
    } 
    public List<Events> events = new List<Events>(); 

我也有第二个窗口2,我希望能够从第二形式第一Form1中。在这里添加对象的事件是第二个窗口2码

 public partial class Form2 : Form 
     { 
     Form1 form1 = new Form1(); 
     List<int> Change = new List<int>();     
      for (int i = 0; i < Playinglist.Count(); i++) 
      { 
       Change.Add(Playinglist[i].Key); 
      }  
     form1.events.Add(new BasketballApp.Form1.Events() 
      { 
       Time = string.Format("{0}:{1}", 10, 00), 
       PlayerId = 0, 
       TeamId = game.HomeTeamId, 
       Event = 22, 
       DisplayPbp = "Change", 
       X = 0, 
       Y = 0, 
       Change = Change      
      }); 

这不流通新的对象form1任何建议?

+0

你有什么错误得到什么?该类是一个内部类(定义在表单1中)还是外部? – RvdK

+1

你已经放置 公开列表 events = new列表(); 以外的事件类,但你在form2中使用它作为 games.events.add(等等等等); 移动到你的类的上面,然后再试一次 –

+0

类的事件是(在表单1中定义的)。在行Form1.events.Add(new Events()中有一个错误:System.ComponentModel.Component.Events是一个'property',但用于'type' – Apollon

回答

0

按照错误时使用了错误的Events类:System.ComponentModel.Component.Events

你应该和你的命名空间前缀它(或使用Events不同的名称)

在Form1:

public List<YourNamespace.Events> events = new List<YourNamespace.Events>(); 

在Form2中:

form1.events.Add(new YourNamespace.Events() 
{ 
    Time = string.Format("{0}:{1}", 10, 00), 
    PlayerId = 0, 
    TeamId = game.HomeTeamId, 
    Event = 22, 
    DisplayPbp = "Change", 
    X = 0, 
    Y = 0, 
    Change = Change      
}); 
+0

我使用BasketballApp,因为我的名字空间不起作用 – Apollon

+0

Events类的相同命名空间?如果它是在Form1中声明的话,那么不需要。然后你应该使用YourNamespace.Form1.Events。 – RvdK

相关问题