博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wp7下的一个生肖查询
阅读量:4679 次
发布时间:2019-06-09

本文共 2753 字,大约阅读时间需要 9 分钟。

  

因为生肖是 每12年一个轮回,所以我设定一个起始值1900年(当然这个数是可以任意设的)

然后将用户输入的数减去1900得到的结果用12取余,如果刚好=0那就是鼠年,如果结果是正数,

那得到的结果就是生肖中的排列位数(即索引值),如果结果是负数,加上12就得到生肖中的排列位数

(因为我把生肖表的索引看作是0起始的);例如1902-1900 =2,取余得2,刚好是虎年,而1899-1900=-1取余得-1,

-1+12=11,也就得到猪年了,下面就是代码了:

//添加正则表达式引用

using System.Text.RegularExpressions;
using System.Windows.Media.Imaging;

namespace SelectAnimals

{
public partial class MainPage : PhoneApplicationPage
{

// 构造函数

public MainPage()
{
InitializeComponent();
}

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)

{
SelectBind(System.DateTime.Now.Year, tbNow,imgNow);
}

private void txtUserWrite_LostFocus(object sender, RoutedEventArgs e)

{
//只能输入0~9的数字
string reg = "^[0-9]*$";
if (Regex.IsMatch(this.txtUserWrite.Text, reg))
{
try
{
if (!string.IsNullOrEmpty(this.txtUserWrite.Text))
{
SelectBind(Convert.ToInt32(this.txtUserWrite.Text), tbResult, imgResult);
}
}
catch (Exception)
{

MessageBox.Show("您输入的年份无效,请重新输入");

}
}
else
{
MessageBox.Show("您输入的年份无效,请重新输入");

}

}

/// <summary>

/// 生肖查询方法
/// </summary>
/// <param name="num">年份</param>
/// <param name="tbTxt">显示查询结果的控件</param>
/// <param name="imgName">显示图片的控件</param>
private void SelectBind(int num, TextBlock tbTxt,Image imgName)
{

int numx = (num - 1900) % 12;

//生肖的排序中的位数 (从0开始)
int numy = 0;

if (numx >= 0)//判断用户输入的是1900年前还是后

{
numy = numx;
}
else
{
numy = numx + 12;
}

switch (numy)

{
case 0:
tbTxt.Text = "鼠(mouse)";
ImgBind(imgName, "/Imgs/鼠.png");
break;
case 1:
tbTxt.Text = "牛(ox)";
ImgBind(imgName, "/Imgs/牛.png");
break;
case 2:
tbTxt.Text = "虎(tiger)";
ImgBind(imgName, "/Imgs/虎.png");
break;
case 3:
tbTxt.Text = "兔(rabbit)";
ImgBind(imgName, "/Imgs/兔.png");
break;
case 4:
tbTxt.Text = "龙(dragon)";
ImgBind(imgName, "/Imgs/龙.png");
break;
case 5:
tbTxt.Text = "蛇(snake)";
ImgBind(imgName, "/Imgs/蛇.png");
break;
case 6:
tbTxt.Text = "马(horse)";
ImgBind(imgName, "/Imgs/马.png");
break;
case 7:
tbTxt.Text = "羊(sheep)";
ImgBind(imgName, "/Imgs/羊.png");
break;
case 8:
tbTxt.Text = "猴(monkey)";
ImgBind(imgName, "/Imgs/猴.png");
break;
case 9:
tbTxt.Text = "鸡(chicken)";
ImgBind(imgName, "/Imgs/鸡.png");
break;
case 10:
tbTxt.Text = "狗(dog)";
ImgBind(imgName, "/Imgs/狗.png");
break;
case 11:
tbTxt.Text = "猪(pig)";
ImgBind(imgName, "/Imgs/猪.png");
break;
default:
ImgBind(imgName, "/Imgs/icon.png");
this.tbResult.Text = null;
break;

}

}

/// <summary>

/// 显示图片
/// </summary>
/// <param name="imgName">显示图片的控件</param>
/// <param name="uriStr">生肖图片地址</param>
private void ImgBind(Image imgName,string uriStr)
{
Uri imgUri = new Uri(uriStr, UriKind.Relative);
imgName.Source = new BitmapImage(imgUri);
}
}
}

 

最后说下:本人只是个新手,最多算个菜鸟,如果你是高手请勿喷(留下你的建议或好方法就行o(∩_∩)o “求之不得”),如果你也和我一样是个菜菜,欢迎一起讨论

共享学习经验,一起进步,谢谢!

转载于:https://www.cnblogs.com/yjlog/archive/2012/03/21/2409601.html

你可能感兴趣的文章
数组的Clone方法
查看>>
app之模拟登陆页面的实现
查看>>
数据结构化与保存
查看>>
关于img标签的探讨
查看>>
Windows安装SVN服务器和客户端
查看>>
简单的随机数 代码和笔记
查看>>
HTML5中x-webkit-speech语音输入功能
查看>>
class.forName的官方使用方法说明
查看>>
第9周表格
查看>>
用cxf创建webservice服务端
查看>>
Visual Studio 单元测试之三---压力测试
查看>>
【整理】windows service类型项目的开发。
查看>>
模式的秘密---代理模式
查看>>
jmeter之jtl文件解析
查看>>
selenium 标签页切换
查看>>
import configparser
查看>>
勇士闯迷宫
查看>>
mysql-冗余和重复索引
查看>>
backbone学习笔记0
查看>>
移动端调试 weinre
查看>>