Win10系列:C#应用控件基础10

时间:2023-02-01 00:07:44

PasswordBox控件

在应用程序的登录界面中,有时需要用户输入用户名和密码进行身份验证,应用程序中的密码框可以通过使用PasswordBox控件来实现。PasswordBox控件与TextBox控件都可以用于接收用户输入的数据,但是区别在于,PasswordBox控件会以密文形式显示用户输入的信息,从而达到隐藏输入密码的效果。

在XAML文件中,PasswordBox控件的用法如下所示:

<PasswordBox .../>

下面介绍一下PasswordBox控件的两个常用属性:

  • Password属性,获取或设置PasswordBox控件当前保留的密码。
  • PasswordChar属性,获取或设置PasswordBox控件的掩码字符。可以通过设置PasswordChar属性的值来更改用户在PasswordBox控件中输入文本时显示的掩码字符。

接下来使用PasswordBox控件设计一个可更改掩码且可显示输入密码的应用示例。

新建一个名为"PasswordBoxDemo"的Windows应用商店的空白应用程序项目,在MainPage.xaml文件的Grid元素中添加如下代码。

<!--"PasswordBox控件示例"和"掩码:"文本块-->

<TextBlock FontSize="40" Margin="100,100,0,619" Text="PasswordBox控件示例"/>

<TextBlock HorizontalAlignment="Left" FontSize="20" Margin="100,174,0,570" TextWrapping="Wrap" Text="掩码:" VerticalAlignment="Center"/>

<!--接收输入的掩码字符文本框-->

<TextBox Name="SetPasswordChar" HorizontalAlignment="Left" Margin="165,166,0,570" TextWrapping="Wrap" Text="" VerticalAlignment="Center" Width="181" MaxLength="1" Height="13"/>

<!--"更改掩码"按钮-->

<Button Name="ChangePasswordChar" Content="更改掩码" Margin="367,154,0,565" FontSize="20" Height="49" Click="ChangePasswordChar_Click"/>

<!--"密码:"文本块-->

<TextBlock HorizontalAlignment="Left" FontSize="20" Margin="100,219,0,525" TextWrapping="Wrap" Text="密码:" VerticalAlignment="Center"/>

<!--PasswordBox密码框-->

<PasswordBox Name="SetPassword" HorizontalAlignment="Left" Margin="165,211,0,525" VerticalAlignment="Center" Width="181"/>

<!--"获取密码"按钮-->

<Button Name="GetPassword" Click="GetPassword_Click" Margin="367,203,0,520" Content="获取密码" FontSize="20"/>

<!--"显示密码:"文本块-->

<TextBlock Text="显示密码:" FontSize="20" VerticalAlignment="Center" Margin="100,253,1169,491"/>

<!--用来显示密码的文本块-->

<TextBlock Name="PasswordMessage" FontSize="20" VerticalAlignment="Center" Margin="215,253,-215,491"/>

在上面的代码中,添加了五个TextBlock文本块,分别用来显示"PasswordBox控件示例"、"掩码:"、"密码:"、"显示密码:"这四段文字和密码内容文本信息。接着放置两个Button按钮,设置这两个按钮的Content属性值分别为"更改掩码"和"获取密码", 用于单击按钮时更改掩码字符和获取输入的密码。再添加一个TextBox文本框和一个PasswordBox控件,TextBox文本框用于接收输入的掩码字符,PasswordBox控件用于输入密码。

前台运行效果如图4-18所示。

Win10系列:C#应用控件基础10

图4-18 PasswordBox控件示例

布局好前台界面后,打开MainPage.xaml.cs文件,为"更改掩码"按钮添加单击事件处理方法ChangePasswordChar_Click,用于更改PasswordBox控件的掩码字符,代码如下所示:

private void ChangePasswordChar_Click(object sender, RoutedEventArgs e)

{

if (SetPasswordChar.Text.Length == 1)

{

//设置掩码字符

SetPassword.PasswordChar = SetPasswordChar.Text;

}

}

在上面的代码中,使用if语句判断在文本框SetPasswordChar中输入文本的长度是否为1,如果满足此条件,表示输入了一个用于更改掩码的字符。将SetPasswordChar文本框的Text属性值赋给密码框SetPassword的PasswordChar属性,这样便可以改变PasswordBox控件的掩码字符。

接着为"获取密码"按钮添加单击事件处理方法GetPassword_Click,当单击"获取密码"按钮后,在PasswordMessage文本块中显示输入的密码,代码如下所示:

private void GetPassword_Click(object sender, RoutedEventArgs e)

{

//获取输入的密码并显示

PasswordMessage.Text = SetPassword.Password;

}

在上面的代码中,把密码框SetPassword的Password属性值赋给文本块PasswordMessage的Text属性,将输入的密码在PasswordMessage文本块中显示出来。

运行程序,如果不更改掩码,则以默认掩码字符在密码框中显示输入的密码。当更改掩码为"*"时,在密码框中输入密码"123456789",密码框中将显示为9个"*",单击"获取密码"按钮,界面下方会显示输入的密码信息,效果如图4-19所示。

Win10系列:C#应用控件基础10

图4-19 使用PasswordBox控件示例

Win10系列:C#应用控件基础10的更多相关文章

  1. Win10系列:JavaScript 控件的使用

    向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...

  2. 重新想象 Windows 8 Store Apps &lpar;17&rpar; - 控件基础&colon; Measure&comma; Arrange&comma; GeneralTransform&comma; VisualTree

    原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...

  3. 重新想象 Windows 8 Store Apps &lpar;16&rpar; - 控件基础&colon; 依赖属性&comma; 附加属性&comma; 控件的继承关系&comma; 路由事件和命中测试

    原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...

  4. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox*缩放控件 1. ScrollView ...

  5. Delphi XE2 之 FireMonkey 入门&lpar;44&rpar; - 控件基础&colon; TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -&gt ...

  6. 【转】PyQt5系列教程&lpar;七&rpar;控件

    PyQt5系列教程(七)控件   软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言 控件是PyQt应用程序的基石.PyQt5自带很多不 ...

  7. WPF 模仿 UltraEdit 文件查看器系列一 用户控件

    WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...

  8. C&num;控件系列--文本类控件

    C#控件系列--文本类控件         文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能         Label用来 ...

  9. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

随机推荐

  1. 基于Ubuntu14&period;04系统的nvidia tesla K40驱动和cuda 7&period;5安装笔记

    基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...

  2. Android EditText输入格式设置

    在开发的过程中,通常会用到EditText,如何让虚拟键盘来适应输入框中内容的类型,通常我们都会在xml文件中加入android:inputType="". android:inp ...

  3. Webform(分页与组合查询配合使用)

    1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...

  4. JS的IE和FF兼容性问题汇总

    转自:蓝色理想 以下以 IE 代替 Internet Explorer,以 MF 代替 Mozilla FF 一.函数和方法差异 1. getYear()方法 [分析说明]先看一下以下代码: var ...

  5. net remoting 服务器端订阅客户端&lpar;附源代码&rpar;

    remoting 在分布式应用中逐渐在企业级应用发展开来,最初提出分布式应用,主要目的是为了降低服务器的压力,将耗性能的处理放在另外一个程序中,然后将计算结果发送到另外一个应用中.而remoting就 ...

  6. C&plus;&plus;引用计数

    简介 引用计数就是对一个对象记录其被引用的次数,其的引用计数可加可减,那什么时候加什么时候减呢?所以引用计数的重点在于在哪里加,在哪里减: 加: 减: 实现 // // Ref.hpp // Ref ...

  7. JS学习笔记:(二)回流和重绘

    在搞清楚回流和重绘的概念之前,我们要清除浏览器的渲染过程. 解析生成DOM Tree(此时包含所有节点,包括display:none); 根据CSS Object Module(CCSSOM)计算节点 ...

  8. Java9 接口细谈

    java9对接口进行了改进,允许在接口中定义默认方法和类方法并且都支持方法的实现.同时添加了一种私有方法,私有方法也可提供方法实现. 注:下面语法只有在Java8以上的版本才允许在接口定义默认方法.类 ...

  9. Swagger2基本注解使用

    @Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" value="该参数没什么意义,在UI界面上也看到,所以不需要配置&q ...

  10. jquery&plus;ajax无刷新加载数据,新闻浏览更多

      <script type="text/javascript"> $(document).ready(function (){ $(window).scroll(fu ...