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

时间:2011-11-17 21:20:24

标签: c# winforms list keyboard stringcollection

我在这里有点困惑:

Windows窗体应用程序,使用C#。

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

现在,假设当用户按下键盘上的ctrl + UP时,我希望它返回他们输入的最后一条消息(这实际上是添加到List<string>集合的最后一条消息。

如果用户按下键盘上的ctrl + Down,它应该返回在上一次up被按下之前发生的上一条消息。

但奇怪的是,我对如何实现这一点感到十分困惑。哈哈,我知道这就像超级简单,但奇怪的是,我似乎无法弄明白。

inputPublicHistory[inputPublicHistory.Count - 1]

似乎是拉动以前历史记录的合理方法,就像我按“向上”一样。但是,显然,没有一种跟踪指数所在位置的方法,很难比较。

inputPublicHistoryIndex +=1

我可以在用户按下键盘上的Ctrl + Up之后添加,增加索引,然后返回该结果,但这是否真的是一种有效/正确的方法呢?

也许我只是在思考这个问题,也许你们中的一个人可以帮我解决这个简单的任务。

1 个答案:

答案 0 :(得分:2)

除了保存用户的最新输入时,我会做很多事情,将索引跟踪设置为.Count - 1.如果按CTRL + Up并且索引为.Count - 1,向他们显示列表中的最后一项。如果然后按CTRL +向下键,则递减索引并向其显示该项,但不要(显然)低于0。