嘿,伙计们,我正在创建一个简单的应用程序,从用户输入到文本框中的名字生成随机的团队。一旦用户输入所有的名字,他们点击“生成”按钮,我希望主列表框中的名字随机和均匀地分为左侧“红色团队”和右侧“蓝色团队”。这是UI的外观。
到目前为止,我已经知道如何将它们添加到屏幕的任意一边,但还没有知道如何均匀或随机地添加。以下是我目前为止设置的代码:
public partial class MainWindow : Window
{
//Number of players added
public int numPlayers = 0;
public MainWindow()
{
InitializeComponent();
}
//Enter Name into list box for players
public void TextBoxEnter_Click(object sender, KeyEventArgs e)
{
try
{
//Check if user pressed enter in text box
if (e.Key == Key.Return)
{
//convert text into string and add to list itme box
nameListBox.Items.Add(enterNameTxtBox.Text.ToString());
//Clear text box so user can re enter name
enterNameTxtBox.Clear();
//Increase num players
numPlayers++;
//Add to number of players value label
numPlayersLabel.Content = numPlayers;
}
}
catch(Exception ex) //Check for errors
{
MessageBox.Show(ex.ToString());
}
}
public void GenerateBtn_Click(object sender, RoutedEventArgs e)
{
//Need to get all items in listbox and randomly generate them to red or blue team evenly
//Random number
//Random rnd = new Random();
//int num = rnd.Next(1, nameListBox.Items.Count);
//Loop through items and add them evenly to red and blue side
for(int i = 0; i < nameListBox.Items.Count; i++)
{
redTeamListBox.Items.Add(nameListBox.Items[i].ToString());
blueTeamListBox.Items.Add(nameListBox.Items[i].ToString());
}
}
public void DeleteName_Click(object sender, RoutedEventArgs e)
{
try
{
//Delete selcted name on screen
nameListBox.Items.Remove(nameListBox.SelectedItem);
//Refresh the display view to show new list
nameListBox.Items.Refresh();
//Remove num players
numPlayers--;
//Update label view
numPlayersLabel.Content = numPlayers;
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
“GenerateBtn_Click”是我处理事件以分隔上面所示的“ENTER NAME”框中的名称的地方。
任何建议或帮助将不胜感激!提前感谢
1条答案
按热度按时间vcirk6k61#
这样试试看