Win10系列:C#应用控件基础3
CheckBox控件
在应用程序的开发过程中开发者经常使用一组CheckBox控件来显示多个复选框,让用户从中选择一个或多个。当用户勾选复选框后,被选中的复选框会被标记为勾选状态,再次点击此复选框可取消勾选。下面介绍CheckBox控件的使用方法。
在XAML文件中,CheckBox控件的用法如下所示:
<CheckBox .../>
-或-
<CheckBox ...>
<!--添加子元素-->
</CheckBox>
-或-
<CheckBox ...>
<!--添加字符串-->
</CheckBox>
下面介绍一下CheckBox控件的常用属性:
- Content属性,获取或设置CheckBox控件的文本内容。
- IsChecked属性,获取或设置CheckBox控件是否被选中。当选中CheckBox控件后,其IsChecked属性值为true;否则CheckBox控件的IsChecked属性值为false。
- IsEnabled属性,获取或设置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的更多相关文章
- Win10系列:JavaScript 控件的使用
向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...
- WPF从我炫系列4---装饰控件的用法
这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...
- WPF 模仿 UltraEdit 文件查看器系列一 用户控件
WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...
- C#控件系列--文本类控件
C#控件系列--文本类控件 文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能 Label用来 ...
- 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree
原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...
- 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试
原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...
- WPF编游戏系列 之四 用户控件
原文:WPF编游戏系列 之四 用户控件 在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...
- Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...
- Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...
- Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit
Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...
随机推荐
- 基于Arcface 免费离线人脸识别 2.0 Demo C#
本来打算做个C#版demo,但没用成功.使用虹软最新人脸识别技术开发完成 过程如下: 1. 传入一张单人脸照片: 2.调用检测人脸函数ASFDetectFaces,成功返回人脸信息的指针: 3.使用 ...
- pip切换国内源(解决pipenv lock特别慢)
切换方法参考https://blog.csdn.net/chenghuikai/article/details/55258957 实测,确实解决了pipenv这个问题,否则只能--skip-lock. ...
- vue-cli的webpack模板项目配置文件分析,配置信息详解
比较不错的一篇详解文章: 地址:http://blog.csdn.net/hongchh/article/details/55113751#comments
- SpringBoot集成ActiveMQ
前面提到了原生API访问ActiveMQ和Spring集成ActiveMQ.今天讲一下SpringBoot集成ActiveMQ.SpringBoot就是为了解决我们的Maven配置烦恼而生,因此使用S ...
- R语言画点状误差线
现在项目需要R语言做几个线性拟合,画一些点图,突然需要画误差线,网上找了下,可以用代码实现..效果如下 xx1<-c(xxxxxx,xxxx,xxxxx) yy1<-c(xxxxxx,xx ...
- 基因/转录本/任意特征 表达定量工具之featureCounts使用方法 | 参数详解
featureCounts真的很厉害. 常见的参数(没什么好说的,毕竟是固定的): -a -o input_file1 -F -t -g -Q -T 关键是以下几个参数怎么设置: -f # Perfo ...
- Shell脚本字体颜色
[root@web01 scripts]# man console_codesecho -e "\033[背景颜色:字体颜色m字符串\033[0m",例:echo -e " ...
- IntelliJ IDEA 第一个 Scala 程序
IntelliJ 安装完成 Scala 插件后,你需要尝试使用 IntelliJ 来创建并且运行第一个程序. 通常这个程序只是简单的输出 Hello World. 创建一个新工程 在文件下面选择新建, ...
- 如何在mmseg3添加词库
一.了解几个文件 ll /usr/local/mmseg/etc/mmseg.ini uni.lib 编译后的词库,给sphinx 用的unigram.txt 原词库给人看的, 在这里面人工添加自 ...
- PHP引用赋值
<?php/** * 在PHP 中引用的意思是用不同的名字访问同一个变量内容 * 只有有名字的变量才可以引用赋值,否则会报错 * 引用赋值 不是在内存上同体,只是把各自的值关联起来 * unse ...