Red vid 焦点如何通过按 Enter 键从一个字段更改到另一个字段

Red vid How focus changed from one field to another with press enter

View [
     f1:  field focus
     f2:  field
]

当 运行 此代码光标在 f1 中获得焦点时 但我想按回车键,焦点将在 f2。 我该怎么做?

on-enter 处理程序内部,您需要更改 window 面的 selected 面(在这种情况下只是父面)以指向您想要的面专注在。所以你的代码变成:

view [ f1: field focus on-enter [face/parent/selected: f2] f2: field ]

如果需要经常切换焦点,可以定义一个方便快捷的函数:

set-focus: function [face [object!]][
    p: face/parent
    while [p/type <> 'window][p: p/parent]
    p/selected: face
]

view [ f1: field focus on-enter [set-focus f2] f2: field ]

Red/View将在以后的版本中提供内置的set-focus函数,这样您就不必在自己的代码中定义它了。