C#字符串列表/集合中下一个/上一个的上下箭头

C#字符串列表/集合中下一个/上一个的上下箭头,c#,winforms,list,keyboard,stringcollection,C#,Winforms,List,Keyboard,Stringcollection,我在这里有点困惑: Windows窗体应用程序,C#格式。 假设我有一个文本框。当用户在该文本框中输入文本并将其提交给服务器时,它会将用户写入的内容填充到内部列表中 现在,假设当用户在键盘上按ctrl+UP之类的键时,我希望它返回他们键入的最后一条消息(实际上是添加到列表中的最后一条消息) 如果用户按下键盘上的ctrl+Down,则应返回上次按下up之前出现的消息 但是,奇怪的是,我对如何实现这一点完全感到困惑。哈哈,我知道这就像uber simple,但奇怪的是,我似乎无法理解 inputPu

我在这里有点困惑:

Windows窗体应用程序,C#格式。

假设我有一个文本框。当用户在该文本框中输入文本并将其提交给服务器时,它会将用户写入的内容填充到内部
列表中

现在,假设当用户在键盘上按ctrl+UP之类的键时,我希望它返回他们键入的最后一条消息(实际上是添加到
列表中的最后一条消息)

如果用户按下键盘上的
ctrl+Down
,则应返回上次按下
up
之前出现的消息

但是,奇怪的是,我对如何实现这一点完全感到困惑。哈哈,我知道这就像uber simple,但奇怪的是,我似乎无法理解

inputPublicHistory[inputPublicHistory.Count - 1]
似乎是一种逻辑方法来提取以前的历史记录,就像我按下“向上”键一样。但是,显然,没有一种方法来跟踪索引的位置,很难进行比较

inputPublicHistoryIndex +=1
我可以补充一点,用户按下键盘上的
Ctrl+Up
,增加索引,然后返回结果,但这真的是一种有效/正确的方法吗


也许我只是想得太多了,也许你们这里的一位了不起的人可以帮我完成这样一项简单的任务,让我的头脑清醒起来。

除了保存用户的最新输入外,我几乎会做你概述的事情,将索引跟踪设置在它们所在的位置。Count-1。如果他们按CTRL+Up,索引位于.Count-1,向他们显示列表中的最后一项。如果他们按CTRL+Down,则减小索引并向他们显示该项,但(显然)不要低于0。

@HenkHolterman“…将其提交给服务器…”似乎与ASP.NET有关。我很抱歉,当我感到疲惫时,我忘了提到我在做什么lol。对此很抱歉,编辑了上面的内容以显示它应该是什么。是的,工作很好lol。我只需要有人为我陈述一下,这样我的头脑就会再次清晰起来。Offda,有时浏览所有这些代码可能会让人感到畏惧。再次感谢。