2014-04-16 70 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

相關問題