虽然ASP.NET的Web控件看起来和用起来和C#的WinForm控件没什么太大区别,也都具备TabIndex属性,但布局工具栏中的“Tab 键顺序”的功能并不对Web控件开放,对.NET的WebForm开发者来说也实在有些小气。
没办法,自己手动给各个控件设置TabIndex属性吧,效果还是可以实现的。
注意:把要获得焦点的控件按顺序编号,建议第一个控件的TabIndex设置为1,而不是0。
打开IE的时候当然不只是你的Web页面上控件需要焦点,地址栏,转到按钮,页面标签等等也抢着要焦点,我用的是Windows Vista+IE7,在我做登陆窗口的时候就有这样的问题,如果是输入用户名的TextBox1.TabIndex=0,密码TextBox2.TabIndex=1,则打开网页时,首先地址栏获得焦点,Tab键切换,依次获得焦点的是:IE的(刷新按钮,页面搜索输入框,页面搜索按钮,收藏按钮,当前页面标签),网页的(密码输入框,登陆,取消,……用户名输入框),接着又回到IE的那些东西上,也就是原本并列的两个输入框,第一个获得焦点后,并不能直接Tab或Shift+Tab转到另一个输入框。也不知道是IE的问题还是我的问题,如果大家也遇到了此类麻烦,可以直接将TabIndex的值从1开始设置,应该就可以解决了。
http://msdn2.microsoft.com/zh-cn/library/ms178231(VS.80).aspx
没办法,自己手动给各个控件设置TabIndex属性吧,效果还是可以实现的。
注意:把要获得焦点的控件按顺序编号,建议第一个控件的TabIndex设置为1,而不是0。
打开IE的时候当然不只是你的Web页面上控件需要焦点,地址栏,转到按钮,页面标签等等也抢着要焦点,我用的是Windows Vista+IE7,在我做登陆窗口的时候就有这样的问题,如果是输入用户名的TextBox1.TabIndex=0,密码TextBox2.TabIndex=1,则打开网页时,首先地址栏获得焦点,Tab键切换,依次获得焦点的是:IE的(刷新按钮,页面搜索输入框,页面搜索按钮,收藏按钮,当前页面标签),网页的(密码输入框,登陆,取消,……用户名输入框),接着又回到IE的那些东西上,也就是原本并列的两个输入框,第一个获得焦点后,并不能直接Tab或Shift+Tab转到另一个输入框。也不知道是IE的问题还是我的问题,如果大家也遇到了此类麻烦,可以直接将TabIndex的值从1开始设置,应该就可以解决了。
http://msdn2.microsoft.com/zh-cn/library/ms178231(VS.80).aspx