单击按钮可在不同的文本框中显示随机信息

时间:2012-10-26 02:25:32

标签: c# user-interface random textbox click

所以现在我有一个名为“氏族”的班级,它按姓名和他们各自的村庄列出几个不同的氏族。

    static void Main(string[] args)
    {
        Clan Uchiha = new Clan("Uchiha", "Konoha");
    }

这基本上还有几个氏族。它有两个字符串,Clan和Village。这是一个GUI应用程序,所以当我点击一个按钮时,我希望它选择一个随机的“Clan”,它将显示Clan和他们的村庄。请注意,在我自己思考项目时,我是一个完全新手。我知道如何进行点击事件,但我不确定如何制作它,以便点击按钮将信息输出到Clan和Village文本框中。

2 个答案:

答案 0 :(得分:0)

假设你已经填充了氏族(List< Clan>),你可以选择一个随机族以下的功能:

System.Random l_random = new System.Random();
int l_randomClanId = l_random.Next(0, l_clans.Count-1);
Clan l_randomClan = l_clans[l_randomClanId];//Where l_clans is the Clans object populated

现在您拥有Random Clan对象,您可以执行以下操作来填充文本框:

txtBoxClan.Text = l_randomClan.Clan;
txtBobVillage.Text = l_randomClan.Village;

答案 1 :(得分:0)

我无法使用类Clan执行此操作,因为我没有定义此类。所以,如果您不介意,我会使用List<string>,但此时Clan必须是一个集合:)

我们会使用RandomList<string>对此进行排序。

首先,我们必须在我们的集合List<string>中包含一些项目。让我们首先使用以下代码创建List<string>

List<string> Clans = new List<string>();

然后,我们将一些项目添加到Clans

Clans.Add("Uchiha,Konoha");
Clans.Add("Picrofo Groups,Egypt");
Clans.Add("Another Clan,Earth");
Clans.Add("A fourth Clan,Somewhere else");

现在,我们需要在单击按钮时输出这些项目,因为我们知道有一个拆分器,将第一个值与每个项目中的第二个值分开。例如。 Uchiha这是氏族的名称,第一个值与Konoha分开,,是氏族的位置,第二个值是Random Rand = new Random(); //Create a new Random class int Index = Rand.Next(0, Clans.Count); //Pick up an item randomly where the minimum index is 0 and the maximum index represents the items count of Clans string[] Categorizer = Clans[Index].Split(','); //Split the item number (Index) in Clans by , MessageBox.Show("Name:" + Categorizer[0] +" | Location: "+ Categorizer[1]); //Output the following 分割器。我们还需要创建Random类。我们来试试吧

    List<string> Clans = new List<string>();
    private void Form1_Load(object sender, EventArgs e)
    {
        Clans.Add("Uchiha,Konoha");
        Clans.Add("Picrofo Groups,Egypt");
        Clans.Add("Another Clan,Earth");
        Clans.Add("A fourth Clan,Somewhere else");
    }

    private void button1_Click(object sender, EventArgs e)
    {
          Random Rand = new Random();
          int Index = Rand.Next(0, Clans.Count);
          string[] Categorizer = Clans[Index].Split(',');
          MessageBox.Show("Name:" + Categorizer[0] +" | Location: "+ Categorizer[1]);
    }

最后,它在您的表单类

中看起来像这样
{{1}}

谢谢, 我希望你觉得这很有帮助:)