每次点击按钮,从网站列表中打开随机网站

时间:2015-10-04 23:51:14

标签: c# winforms button

    private void button2_Click(object sender, EventArgs e)
    {
        Process.Start("http://google.com");
    }  
例如,然后再次点击它有可能像雅虎甚至再次谷歌一样打开。 试图

    private void button2_Click(object sender, EventArgs e)
    {
        Process.Start("http://google.com");
        Process.Start("http://yahoo.com");
        Process.Start("http://stackoverflow.com");
    }  

但是我会在默认浏览器中同时打开所有3个网站 我想让它在每次点击按钮时随机打开这3个网站中的1个。

4 个答案:

答案 0 :(得分:2)

使用Random类并限制间隔内的随机数:

原始帖子的Java示例未标记语言,对于C# - 删除final并使用System.Random选择值:

private void button2_Click(object sender, EventArgs e)
{
    final String[] urls = {
      "http://google.com",
      "http://yahoo.com",
      "http://stackoverflow.com"
    };

    final int pick = (int)(Math.random() * urls.length);
    Process.Start(urls[pick]);
}  

答案 1 :(得分:2)

您可以创建一个字符串数组来保存站点地址,如下所示:

string[] sites = {
    "http://google.com",
    "http://yahoo.com",
    "http://stackoverflow.com" };

然后使用Random类在按钮点击中选择其中一个网站:

private void button2_Click(object sender, EventArgs e)
{
    Random random = new Random();
    Process.Start(sites[random.Next(sites.Length)]);
}

随机类的Next方法将返回一个小于指定数字的值,因此数组不会超出范围异常

答案 2 :(得分:0)

随机数生成器(应该是c#中的库。

在链接中添加几个变量,可以将它们存储在数组中。

然后在随机生成的索引处运行该数组的那一行。

答案 3 :(得分:0)

Random rnd = new Random();
int website = rnd.Next(0, numOfWebsites);
switch(website)
{
    case 0:
    {
        Process.Start("http://google.com");
        break;
    }
    case 1:
    {
        Process.Start("http://yahoo.com");
        break;
    }
}

您可以使用switch case语句来获取随机数生成器的可读性。如果我犯了任何错误,我很抱歉,因为我不使用C#。 if else语句也适用于这种情况。