我正在接受并验证地址的用户控件。这些地址都在特定的域(特别是澳大利亚)内。用户控件如何将焦点传递给父窗体上的控件?
在地址用户控件中,我有三个字段:郊区,州和邮编(又名邮编)。
当用户键入郊区名称的一部分并点击TAB并进入状态字段时,我查询数据库以查看是否可以理解部分郊区。如果可以,我填写完整的郊区,州和邮政编码。例如,澳大利亚只有一个名为“BORONIA”的郊区,因此用户可以键入“BONON”,打TAB,表格中填入“BORONIA”,“VIC”和“3155”。
我得到的问题是,填充这些字段后,我想跳过状态和邮政编码字段,然后转到窗体上的下一个控件。因为这些地址字段在用户控件中,所以我实际上想要将焦点设置为父窗体上的下一个控件。
我知道那个控件是什么,但是既没有.Focus()也没有.Select()似乎移动了焦点。数据库查询和字段填充在状态字段的Enter事件中完成。
我有一个不是用户控件的同一地址处理逻辑的早期版本:它在数据输入表单上都是内联的,在这种情况下一切正常。在状态字段的Enter方法中,我可以将控制传递给下一个字段。
但是,当我将它重构为用户控件时,它失败了。任何人都可以将我推向正确的方向吗?
编辑:我应该注意到,我可以将焦点传递给我的用户控件中的其他控件,所以我知道基本逻辑是正确的。这就是为什么我相信这是关于用户控件和父控件,而不是我的控件选择和.Select()调用。
谢谢Henk。这工作完美。 – Andrew 2009-08-13 00:07:14