lqb

我一直在努力!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ASP.NET Web 服务器控件中的 Tab 键顺序问题

Posted on 2008-02-16 18:51  BlackPhoenix  阅读(1110)  评论(1编辑  收藏  举报
虽然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