【问题标题】:Keyboard Shortcut to 'Tab Out' of a Grid with Infinite Rows?从无限行的网格中“制表”的键盘快捷键?
【发布时间】:2009-04-28 16:21:05
【问题描述】:

我遇到了一个我确信其他人已经解决并解决的问题。在我的应用程序的几个地方,我有“网格”。更具体地说,Infragistic 的 UltraWinGrid 的 - 但想法是,在网格内按 Tab 会将您移动到网格中的下一个单元格。当您位于一行的最后一个单元格时,按 Tab 会将您移至下一行。如果您在最后一行的最后一个单元格中,按 Tab 会将您移动到新行。

问题在于表单不仅仅包含一个网格。在某些时候 - 您想要从该网格中“退出”并移动到下一个控件。

我认为使用键盘快捷键来提供这种替代 Tab 行为是有意义的....但似乎所有选项都已采用。

Shift + Tab = 向后制表符

Ctrl + Tab = 应用程序中窗口之间的选项卡(我们有 MDI 子级,所以我们不想更改它)

Alt + Tab = 更改应用程序的 Windows 快捷方式

Windows 键 + Tab = 与上面相同,带有新的 GUI

在没有无限行数的网格中 - 我可以使用常规选项卡将它们移出网格。但是在这种情况下,网格没有尽头。

有人对如何解决这个问题有任何建议/提示吗?我真的希望能够让我们的用户完全浏览应用程序,而无需触摸鼠标。

【问题讨论】:

    标签: .net user-interface keyboard-shortcuts


    【解决方案1】:

    如果您在表单类型控件(例如,文本框、组合框)中设置了一个网格,则可以使用 Esc 将网格切换到其中一个表单控件,或者第一个控件或最后一个具有焦点的控件。

    如果您有多个网格(或多个窗格),Esc 可以将焦点放在当前网格/窗格上作为一个整体。 TabShift + Tab 在网格/窗格之间移动焦点。其他键提供了操作窗格的快捷方式(例如,打开、关闭、调整大小、列选择)。在焦点位于整个窗格/网格上时按 Esc 会将焦点放回网格/窗格中。

    在任何一种情况下,我仍然会使用 Ctrl + TabShift + Ctrl + Tab 用于移入和移出网格或网格之间,以及 MDI 中的窗口之间。本质上,将每个窗口中的网格(或窗格)视为“窗口中的窗口”。如果窗口的关联方式与窗口中的网格关联的方式相同(例如,所有显示的数据对象都相互关联),则这是最有意义的。如果用户在网格中,则 Ctrl + Tab 移出网格但仍保留在窗口中(或移动到该窗口中的下一个网格/窗格)。一旦用户在一个窗口中没有地方可去,Ctrl + Tab 将移动到下一个窗口(或该窗口中的第一个窗格/网格)。

    【讨论】:

    • 我希望我能接受每个人的答案——因为我心中没有一个“正确”的答案。我最终用转义键实现了这个解决方案。运气好的话,用户不会讨厌它。
    【解决方案2】:

    您认为让您的用户知道此键盘快捷键的机会有多大?

    也许 Alt + Shift + Tab (它在我手中效果很好)。

    但是,您不应该在未与用户进行测试的情况下做出此类决定。这将为您提供两个输出 A)您可以查看这是否是您的用户实际会做的事情,以及 B)您可能能够教您的用户群。

    【讨论】:

    • Alt-Shift-Tab 当然也可以在 MS Windows 中的应用程序窗口之间切换,只是与 Alt-Tab 的顺序相反。你在想 Alt-Ctrl-Tab 吗?
    【解决方案3】:

    您所说的“无限”行数是什么意思...当您走到最后时,是否在此网格中使用制表符,只需继续创建新的空行。

    当他们按下 Tab 时,您可以测试它们是否在最后一个新行的最后一个单元格中,如果是,则 .Focus() 是 winForm 上的下一个控件。或者,您可以将 Tab 完全捕获为控件导航键,并让它们使用箭头键在网格内导航。

    【讨论】:

    • "如果您在最后一行的最后一个单元格中,按 Tab 键会将您移动到新行。"所以,我不认为我可以测试它们是否在最后一个新行的最后一个单元格中 - 因为在这种情况下,按 Tab 应该创建一个新的新行并将它们移动到该行的第一个单元格.我喜欢使用箭头键来导航网格的单元格的想法 - 但是如果您输入“Cait”而不是 cat 并且想要返回一个并点击退格键,您将无法这样做。我不确定这是否会破坏交易。有趣的建议。
    猜你喜欢
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 2018-09-16
    • 2015-09-24
    相关资源
    最近更新 更多