CheckBox控件

在应用程序的开发过程中开发者经常使用一组CheckBox控件来显示多个复选框,让用户从中选择一个或多个。当用户勾选复选框后,被选中的复选框会被标记为勾选状态,再次点击此复选框可取消勾选。下面介绍CheckBox控件的使用方法。

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

<CheckBox .../>

-或-

<CheckBox ...>

<!--添加子元素-->

</CheckBox>

-或-

<CheckBox ...>

<!--添加字符串-->

</CheckBox>

下面介绍一下CheckBox控件的常用属性:

介绍完常用属性后,接着来看一下CheckBox控件的常用事件:

  • Click事件,当单击CheckBox控件时触发。
  • Checked事件,当选中CheckBox控件时触发。
  • Unchecked事件,当取消选中CheckBox控件时触发。

接下来使用CheckBox控件设计一个选择喜爱运动项目的应用示例。

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

<CheckBox Content="足球" Name="Football" HorizontalAlignment="Left" Margin="564,413,0,0" VerticalAlignment="Top"/>

<CheckBox Content="篮球" Name="Basketball" HorizontalAlignment="Left" Margin="648,413,0,0" VerticalAlignment="Top"/>

<CheckBox Content="排球" Name="Volleyball" HorizontalAlignment="Left" Margin="736,413,0,0" VerticalAlignment="Top"/>

<TextBlock FontSize="20" HorizontalAlignment="Left" Margin="677,469,0,0" TextWrapping="Wrap" Name="ShowContent" VerticalAlignment="Top" Height="26" Width="150"/>

<Button Content="显示选择" HorizontalAlignment="Left" Margin="564,460,0,0" VerticalAlignment="Top" Click="ShowSelected_Click"/>

<TextBlock HorizontalAlignment="Left" Margin="597,381,0,0" FontSize="20" TextWrapping="Wrap" Text="选择喜爱的运动项目" VerticalAlignment="Top" Height="27" Width="198"/>

在上面的代码中,添加了三个CheckBox控件、一个Button按钮和两个TextBlock文本块。三个CheckBox控件分别表示"足球"、"篮球"和"排球"复选框,设置Button按钮的Content属性值为"显示选择","显示选择"按钮用于显示选中的复选框信息,两个TextBlock文本块分别用于显示"选择喜爱的运动项目"文本信息和选择了哪些运动项目。

这时可以运行应用查看它的外观,如图4-5所示。

图4-5 选择喜爱的运动项目应用外观

如果此时单击"显示选择"按钮,并不会产生任何的效果,因为还没有为按钮的单击事件处理方法添加代码。

打开MainPage.xaml.cs文件,为"显示选择"按钮的单击事件处理方法ShowSelected_Click编写代码,完成后的代码如下所示:

private void ShowSelected_Click(object sender, RoutedEventArgs e)

{

string selectedContent = null;

//判断选择了哪些运动项目

if (Football.IsChecked == true)

{

selectedContent += "足球";

}

if (Basketball.IsChecked == true)

{

selectedContent += "篮球";

}

if (Volleyball.IsChecked == true)

{

selectedContent += "排球";

}

//如果选择不为空,显示选择了哪些运动项目

if (selectedContent != null)

{

ShowContent.Text = "选择了" + selectedContent;

}

}

在上面的代码中,首先定义一个string类型的变量selectedContent并赋值为空,用于存储被选中的复选框中的内容,通过CheckBox控件的IsChecked属性分别判断"足球"、"篮球"和"排球"复选框的状态,当复选框被选中,其IsChecked属性值为true,满足if语句后将复选框的内容添加到selectedContent变量中,最后把selectedContent变量赋给ShowContent文本块的Text属性,将选中的复选框信息显示在前台界面。

运行程序,勾选"足球"和"篮球"复选框,单击"显示选择"按钮,显示"选择了足球篮球"信息,效果如图4-6所示。

图4-6 勾选复选框并显示选择内容

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

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

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

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

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

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

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

  4. C#控件系列--文本类控件

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

  5. 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree

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

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

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

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

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

  8. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

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

  9. Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid

    Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...

  10. Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit

    Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...

随机推荐

  1. django信号 signal

    django自带一套信号机制来帮助我们在框架的不同位置之间传递信息.也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(signals)发送给一组接受者(rec ...

  2. 关于table动态添加数据 单元格合并 数组合并

    var newArr = [ {"BranchID":1,"BranchName":"城二","BranchFullName&qu ...

  3. 04-python-闭包

    1.闭包的概念: 官方概念:在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包.闭包可以用来在一个函数与一组"私有"变量之间创 ...

  4. Codeforces 920G - List Of Integers

    920G - List Of Integers 思路:容斥+二分 代码: #include<bits/stdc++.h> using namespace std; #define ll l ...

  5. Lua --- 输入一个数字,输出阶乘

    function fact(n) == n then else ) end end print("Enter a number : ") a = io.read("*nu ...

  6. LFU Cache

    2018-11-06 20:06:04 LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”. ...

  7. 日常英语---九、冒险岛link技能导读

    日常英语---九.冒险岛link技能导读 一.总结 一句话总结:选最值得练的link技能列上来,先熟悉一部分,没必要一开始就全部弄懂,这样压力太大,可以先熟悉比较有意义的一部分啊 学以致用-还不如说成 ...

  8. learn python the hard way 习题6~10总结

    习题6总结 定义字符串: 名字 = 值 其他 你也可以用 {types_of_people}的方式把它放在任何字符串中. 也就是说你可以在其他字符串中添加{},然后前面加一个 f,可用print()进 ...

  9. uva10780

    将m分解质因数,然后计算次数取最小. #include <iostream> #include <cstdio> #include <cmath> #include ...

  10. p1473 Zero Sum

    搜索,最后判断一下是否结果为0就行. #include <iostream> #include <cstdio> #include <cmath> #include ...