• silverlight登陆页面的小细节【自动设置焦点,回车登陆】


    作为登陆页面,页面打开时焦点停在用户名的文本框,以及回车键可登陆是比较方便的,但是silverlight默认却没有在页面打开时将焦点设在指定的文本框,也不支持默认按钮。

    这需要我们作一点工作。

    1.自动设置焦点

    开始我尝试过将tabindex设为0,当前页设置焦点[this.Focus()],指定控件设置焦点[this.TextBox1.Focus()],都无法实现在页面打开时将焦点停在指定的控件上。

    其实我是忘了一件事,silverlight程序是作为一个插件嵌入在aspx页面中,所谓的页面打开是aspx的页面打开,此时的焦点是停在aspx页面上,而不是silverlight插件上,所以无论你在silverlight程序中怎么Focus都是取不到焦点的。

    要实现这个前提条件是在aspx页面打开时【sl插件loaded时】将页面的焦点停在silverlight插件上,然后再在silverlight程序中设置控件的焦点,具体代码如下:

    1 void Login_Loaded(object sender, RoutedEventArgs e)
    2 {
    3 //用户名文本框自动聚焦
    4   HtmlPage.Plugin.Focus();//silverlight插件聚焦
    5 this.tbxUserName.Focus();//用户名文本聚焦
    6 }

    2.回车登陆

    这不是一个最好的办法,但是也可以实现回车登陆,大家可以参考一下

    具体思路是捕捉页面的keydown事件,然后触发登陆按钮的点击事件,具体代码如下:

    /// <summary>
    /// 页面键盘事件处理
    /// </summary>
    void Login_KeyDown(object sender, KeyEventArgs e)
    {
    //回车键登陆
    if (e.Key == Key.Enter)
    {
    btnOK_Click(sender,
    new RoutedEventArgs());//登陆按钮的点击事件处理方法
    }
    }

  • 相关阅读:
    文档01_基础
    文档07_JavaScript_ajax
    文档02_JavaScript
    文档06_JavaScript_面相对象
    文档05_JavaScript_节点
    文档06_Asp.net2.0_01
    文档04_JavaScript_事件
    文档05_多线程
    文档03_JavaScript_函数
    根据日期计算星座
  • 原文地址:https://www.cnblogs.com/larson/p/2057226.html
Copyright © 2020-2023  润新知