2013-03-20 76 views
1

我想从C#中的终端获取用户输入,但我只想在用户开始输入时ReadLine。基本上我现在设置的方式是,我处于一个while循环中,并且要检查是否收到消息或发送消息,但我不想试图通过调用ReadLine来发送消息,等待用户发送消息,如果他们此刻无法发送消息的话。我的代码看起来是这样的:检查并获取来自终端C的用户输入#

While (true) 
{ 
    // If messages to be received 
     // Receive them 

    // Check to see if the user is typing input 
    if (Console.KeyAvailable) 
    { 
     string userInput = Console.ReadLine(); 
     // Do stuff... 
    } 

} 

基本上所发生的事情是,它完全正常,但第一个字母的用户类型不会在终端窗口中显示出来,但它确实在得到回升ReadLine没有问题。无论如何,我可以让这个工作,让用户可以看到他们马上输入的一切?

谢谢!

+0

我想研究多线程或事件 – 2013-03-20 18:26:12

+0

我只想用一个线程来做到这一点 – user1875195 2013-03-20 18:26:57

+1

要检查用户是否正在键入,请使用键盘按下事件,如果这样的事情可以为你工作。 – 2013-03-20 18:27:40

回答

1

您可以使用Console.ReadKey(true);来读取缺失项目,然后使用readline方法读取其他部分并将其附加到输入中。

+0

谢谢!这正是我想要做的,完美的工作! – user1875195 2013-03-20 18:51:01