我有一些自定义控件来模拟类似细胞的行为,即一个用于编辑的控件和另一个用于显示的控件。在编辑模式下,其中一个是隐藏的,另一个是可见的。在编辑模式之外,它是相反的。
编辑控件是可聚焦的,显示控件不是。
我真正打算让标签导航正常工作。 我尝试从编辑控件中将函数挂钩到GotFocusEvent以强制编辑模式,但它不起作用。
我想知道隐藏控件是否也让它不可聚焦......
由于
答案 0 :(得分:2)
隐藏或折叠控件无法调焦。如果您希望它们仍然可以聚焦,则可以将其不透明度设置为0。
答案 1 :(得分:0)
使用Control.TabIndex属性设置标签导航的顺序。当控件被隐藏或折叠时,它在控件的可视树中不被考虑,因此它是不可聚焦的。如果你想要专注于显示控制,只需将其他透明控件放在上面就可以获得焦点并且什么也不做。
答案 2 :(得分:0)
如果我理解正确,你有一个自定义控件,当对焦时应切换到编辑模式。
您需要做的是在自定义控件上处理焦点事件(而不是在内部编辑控件上)。
创建两个视图状态,一个用于编辑模式,另一个用于显示模式,并使用焦点事件处理程序中的逻辑,在自定义控件获得焦点后相应地设置视图状态。