C

雅轩聊科技 2024-07-05 00:17:35

哈喽,你好啊,我是雷工!

关于大乐透选择器的实例项目前面已经记录了3篇笔记,这是第4篇;

本篇练习实现手动选号,当点击对应的号码球时,号码球变红色或蓝色或灰色来表示选中或取消选中;

以下为练习笔记。

01 效果演示

①:实现功能在红色球区域点击选择球时,点击的球体变成红色,再次点击变灰色;

②:在蓝色球区点击球时,点击球体变成蓝色,再次点击变灰色;

02 编程思路

①:编辑点击变色事件,当点击某个球时判断该球的Tag值(设计Tag值表示颜色,0表示灰色;1-表示红色);

②:若Tag=0则为灰色将其改为红色,并将Tag值置1;

③:若Tag=1则为红色将其改为灰色,并将Tag值置0;

④:在红色区域初始化方法IniRedPanel中增加点击事件;

蓝色区域的变色同理;

03 实现代码

3.1、点击变色事件

代码如下:

#region 点击选择球变色//红色区域单击事件private void lblRed_Click(object sender,EventArgs e){ Label lbl = (Label)sender; if(lbl.Tag.ToString().Equals("0"))//tag中的值表示颜色0-灰色;1-红色; {lbl.Image = Image.FromFile("Image/red.png");lbl.Tag = "1"; } else {lbl.Image = Image.FromFile("Image/gray.png");lbl.Tag = "0"; }}//蓝色区域单击事件private void lblRed_Click(object sender,EventArgs e){ Label lbl = (Label)sender; if(lbl.Tag.ToString().Equals("0"))//tag中的值表示颜色0-灰色;1-蓝色; {lbl.Image = Image.FromFile("Image/blue.png");lbl.Tag = "1"; } else {lbl.Image = Image.FromFile("Image/gray.png");lbl.Tag = "0"; }}#endregion

3.2、增加单击事件

①:在红色区域初始化方法IniRedPanel中增加点击事件;

代码如下:

//增加单击事件,实现颜色切换lbl.Click += new EventHandler(lblRed_Click);

②:在蓝色区域初始化方法IniBluePanel中增加点击事件;

代码如下:

//增加单击事件,实现颜色切换lbl.Click += new EventHandler(lblBlue_Click);

04 后记

以上为点击变色的功能实现,其实该功能类似用一个按钮控制启停,上位机程序中会经常用到;

当然该实现只是一个便于理解的过渡练习,接下来会对该功能进行优化,例如增加点击时文本随底色变颜色,增加美观度;

为了提升复用性和精简重复代码;

大家有更简单的实现思路可以在评论区留言,也可以在交流群内讨论,相互学习,共同进步。

0 阅读:0

雅轩聊科技

简介:感谢大家的关注