每次按Enter键进入C#时,如何创建一个显示新随机数的应用程序?

时间:2016-11-22 13:06:02

标签: c#

所以我想在Windows Forms Applications或C#中创建一个应用程序,每次按Enter键时都会显示一个新的随机数,但我不知道我会怎么做。

在控制台窗口中,我这样做:

Boolean keepGoing = true;
do
{
    Random rand = new Random();
    int randomNumber = rand.Next(1, 101);
    Console.WriteLine(randomNumber);
    Console.ReadKey();
    Console.Clear();
}
while (keepGoing == true);

但我需要在一个可以设置字体大小和内容样式的应用程序中执行此操作。

如果你们能帮助我,我真的很感激!

3 个答案:

答案 0 :(得分:3)

在其他任何事情之前,您希望在循环之外声明Random rand = new Random(),否则生成的每个数字都是相同的。

要获得对键盘等的全面支持,您最好制作一个简单的WPF应用程序,并使用此代码检测是否已按下enter

private void input_KeyDown(object sender, KeyEventArgs e) 
{                        
    if(e.KeyData == Keys.Enter)   
    {  
        // Run random number generator again 
    }             
}

不是递归地运行方法,而是简单地监听特定的keyDown事件(上图),并且在使用正确的密钥(在本例中为enter)时,您将再次调用NewRandomNumber()

答案 1 :(得分:2)

转到表单属性并设置KeyPreview = true。声明一个新的Random实例

Random rdm = new Random(); 

然后像这样处理KeyDown Handler:

private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.KeyCode==Keys.Enter)
        {

            int number = rdm.Next(0, 101);
            label1.Text = number.ToString();

        }
    }

答案 2 :(得分:0)

哟应该取出随机数的创建,试试这个:

Boolean keepGoing = true;
Random rand = new Random();
do
{
    int randomNumber = rand.Next(1, 101);
    Console.WriteLine(randomNumber);
    Console.ReadKey();
    Console.Clear();
}
while (keepGoing == true);