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 “求之不得”),如果你也和我一样是个菜菜,欢迎一起讨论
共享学习经验,一起进步,谢谢!
摘自 紫髥客
上一篇: 关于Android 8.0的适配教程
下一篇: IOS开发: 4种连线方式总结
推荐阅读
-
一个oracle+PHP的查询的例子
-
java 从一个字符串查询另一个字符串的位置
-
Hibernate通过SQL查询常量时只返回第一个字符问题的解决方法
-
asp下多个域名后缀同时查询的域名查询系统
-
sql语句查询之一个学生在某一年的所有成绩与查询某一个班的高等数学的成绩(代码实例)
-
Docker下搭建一个JAVA Tomcat运行环境的方法
-
spring Boot环境下dubbo+zookeeper的一个基础讲解与示例
-
SqlServer2005中使用row_number()在一个查询中删除重复记录的方法
-
Sql Server 2005中查询用分隔符分割的内容中是否包含其中一个内容
-
使用Python编写一个在Linux下实现截图分享的脚本的教程