欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

wp7下的一个生肖查询

程序员文章站 2023-01-22 23:45:01
  因为生肖是 每12年一个轮回,所以我设定一个起始值1900年(当然这个数是可以任意设的) 然后将用户输入的数减去1900得到的结果用12取余,如果刚好=0那就是鼠年,如果结果是正数...
 wp7下的一个生肖查询


因为生肖是 每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 “求之不得”),如果你也和我一样是个菜菜,欢迎一起讨论
共享学习经验,一起进步,谢谢!

 

摘自  紫髥客