2014-08-30 24 views
0

/// TEAM PICKING APP帮助的Dota物品2分上的草稿形式///列表框用传递给其他listsboxes

对象:

  1. heroListBox
  2. team1ListBox
  3. team2ListBox
  4. addTeam1Button
  5. addTeam2Button
  6. labels plac编辑下面每个队的列表框

我有一个类叫做英雄Hero的每个实例都有bool和一个字符串作为其名称。例如,如果他有远程攻击,布尔追踪该特性的英雄的属性。

在我的MainForm上,有一个列表框,其中包含所有可用的英雄。你选择一个英雄然后按两个按钮之一:按钮发送对象到队1的列表框队2的列表框。在每个队伍的列表框下方都会标注该队伍的技能数量,例如团队列表框中有多少个英雄有远程攻击。每当你按下该球队的按钮时,球队的标签就会更新。

我想我可以将一个对象从一个列表移动到另一个列表。但每次你按下该送两个按钮中的一个时间,我不能让伯爵的工作:

public class Hero { 
    public string Name; 
    public bool IsInitiator; 
    public bool IsTank; 
    public bool IsNuker; 
    public bool IsCarry; 
    public bool IsPusher;  
    public bool IsRanged; 
    public bool IsGreedy; 
    public bool IsAOE; 
    public bool IsDisabler; 
    public bool IsRat; 
    public Hero(string tempName){ 
     Name = tempName; 
     IsInitiator = false; 
     IsTank = false; 
     IsNuker = false; 
     IsCarry = false; 
     IsPusher = false;  
     IsRanged = false; 
     IsGreedy = false; 
     IsAOE = false; 
     IsDisabler = false; 
     IsRat = false; 
    } 
    public override string ToString() 
    { 
     return Name; 
    } 


} 


public partial class MainForm : Form 
{ 
    public int rcounter; 
    public int dcounter; 
    List<Hero> rHeroes = new List<Hero>(); 
    List<Hero> dHeroes = new List<Hero>(); 

    public MainForm() 
    { 
     InitializeComponent(); 

//只是一个例子英雄

 Hero Abbadon = new Hero("Abbadon"); 
     Abbadon.IsCarry=true; 
     Abbadon.IsGreedy=true; 
     Abbadon.IsTank=true; 
     heroList.Items.Add(Abbadon); 

     } 

//添加到TEAM1 ...又名辐射。更新这些标签文本!

void addTeam1ButtonClick(object sender, EventArgs e) 
    { 
     rcounter++; 
     rHeroes.Add(heroList.SelectedItem as Hero); 
     team1List.Items.Add(heroList.SelectedItem); 
     heroList.Items.Remove(heroList.SelectedItem); 

     for (int i = 0; i == rcounter; i++) 
     { 
      int rangedCounts = 0; 
      if (rHeroes[i].IsTank == true){ 
       rangedCounts++; 
      } 
      radiantRangedLabel.Text = rangedCounts.ToString(); 
     } 
    } 

} 

回答

1

您正在为球队的标签与每一个英雄算,因此会一直显示1或0取决于最后的英雄在循环检查...

移动以外的变量rangedCounts循环