原文:WPF编游戏系列 之八 银行界面及金额校验

       在前面《WPF编游戏系列 之四 用户控件》一文中通过用户控件创建了“My Shop”中物品列表框。本篇继续使用用户控件创建银行界面,并在用户进行存钱操作时对其输入金额的有效性进行校验。

1. 在创建好控件BankElement.xaml后,将XAML代码填入其中:

<Grid>
<Border BorderThickness="3" CornerRadius="5"
Background="#CEE4E5" BorderBrush="#0C7D42">
<StackPanel Orientation="Vertical" Margin="5"
HorizontalAlignment="Center">
<Image Height="80" Width="80" Margin="5"
Source="{Binding BankImage}"></Image>
<TextBlock Name="bankCash" Margin="5"
Text="{Binding BankCash}"></TextBlock>
<TextBlock Name="bankInterest" Margin="5"
Text="{Binding BankInterest}"></TextBlock>
<TextBlock Name="transferInfo" Margin="5"></TextBlock>
<StackPanel Orientation="Horizontal">
<TextBox Name="cashTransfer" Margin="5" Width="100"></TextBox>
<Image Name="transImage" Source="image/trans.png"
Cursor="Hand" Width="20" Height="20"></Image>
</StackPanel>
</StackPanel>
</Border>
</Grid>

样式及效果图如下:

2. 当用户在TextBox中输入金额后,首先需要对该数据进行两方面校验:a. 录入金额是否为数字,b. 录入金额是否超出当前总金额,之后再对相应结果进行处理。

private void saveCashImage_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Image transferImage = sender as Image;
//查找输入金额的TextBox
object findCashTextBox = queryGrid.FindName("saveCash");
TextBox saveCashInput = findCashTextBox as TextBox;
//查找反馈结果的TextBlock
object findCashTextBlock = queryGrid.FindName("saveCashInfo");
TextBlock saveCashInfo = findCashTextBlock as TextBlock;
//当前总金额($750)
int remainAmount = Convert.ToInt32(transferImage.Tag.ToString());
//存入金额
int transAmount;
//判断saveCashInput是否为数字,否则transAmout为0
int.TryParse(saveCashInput.Text, out transAmount);
//如果transAmout为0,则说明输入的数据有误,当然也包括本身输入的就是0
if (transAmount == 0)
{
saveCashInfo.Text = "Not vaild number";
}
else
{
//如果超出当前总金额…
if (transAmount > remainAmount)
{
saveCashInfo.Text = "No enough cash";
}
else
{
//可以将Money存入银行了
}
}
}

3. 错误提示效果图:

              

待续 … …

WPF编游戏系列 之八 银行界面及金额校验的更多相关文章

  1. WPF编游戏系列 之九 物品清单再优化

    原文:WPF编游戏系列 之九 物品清单再优化        在"第三篇"和"第四篇"中通过用户控件和数据绑定功能对物品清单进行一些优化减少了部分C#代码,但感觉 ...

  2. WPF编游戏系列 之七 动画效果(2)

    原文:WPF编游戏系列 之七 动画效果(2)        上一篇已经对关闭窗口图标进行了动画效果处理,本篇将对窗口界面的显示和关闭效果进行处理.由于所有的动画效果都是针对窗口界面的Canvas,所以 ...

  3. WPF编游戏系列 之六 动画效果(1)

    原文:WPF编游戏系列 之六 动画效果(1)        本篇主要针对界面进行动画效果处理.首先在打开或关闭界面时,使其产生动态效果而不是生硬的显示或消失(如下图).其次在鼠标放到关闭窗口图标上时, ...

  4. WPF编游戏系列 之三 物品清单

    原文:WPF编游戏系列 之三 物品清单        本篇将介绍如何通过C#自动生成游戏界面,主要演示点击"My Shop"后如何显示所有物品清单.其中数据源来自于Access 2 ...

  5. WPF编游戏系列 之五 数据绑定

    原文:WPF编游戏系列 之五 数据绑定        在上一篇通过用户控件将重复使用的控件封装为一个控件组,大大减少了C#代码数量,本篇继续对该控件组进行数据绑定,节省为每个控件赋值的工作.对于数据绑 ...

  6. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

  7. WPF编游戏系列 之一 布局设计

    原文:WPF编游戏系列 之一 布局设计        本系列主要使用WPF和C#编写一个简单的小游戏(暂命名XMarket),意在通过该实例进一步学习和体验WPF,也欢迎广大同仁拍砖交流.言归正传,在 ...

  8. WPF编游戏系列 之二 图标效果

    原文:WPF编游戏系列 之二 图标效果        本篇将要实现图标的两个效果:1. 显示图标标签,2. 图标模糊效果.在上一篇中提到Image没有HTML <img>的Title属性( ...

  9. WPF入门教程系列二十三——DataGrid示例(三)

    DataGrid的选择模式 默认情况下,DataGrid 的选择模式为“全行选择”,并且可以同时选择多行(如下图所示),我们可以通过SelectionMode 和SelectionUnit 属性来修改 ...

随机推荐

  1. gradle导出依赖的jar包

    gradle导出依赖的jar包 http://blog.csdn.net/yuhentian/article/details/50426896

  2. android Navigator的高度计算和推断是否显示

    进入互联网行业几天了, 从手机行业转到互联网行业也在慢慢的适应: IDE工具的使用(之前一直在Ubuntu 命令行进行开发). 版本号管理工具,代码架构等等这些都须要又一次适应. 好在本人另一些底子, ...

  3. 切换-5.7-GTID复制切换成传统复制

    mysql5.7 gtid和传统复制在线切换,5.7.6 之后 不用重启可以直接在线切换   基本环境   Master Slave MySQL版本 MySQL-5.7.16-X86_64 MySQL ...

  4. poj1007——DNA Sorting

    Description One measure of ``unsortedness'' in a sequence is the number of pairs of entries that are ...

  5. 小强的HTML5移动开发之路(37)——jqMobi快速入门

    在<小强的HTML5移动开发之路(33)-- jqMobi基础>中我们了解了什么是jqMobi,并从官方下载了jqMobi开发包,下载后解压目录如下: 拷贝上面的/css目录./plugi ...

  6. 赵雅智_service电话监听2加接通电话录音

    步骤: 创建CallStateService继承Service 取得电话服务 监听电话动作 电话监听的对象 没有电话时 停止刻录 重设 刻录完毕一定要释放资源 电话响铃时 从麦克风採集声音 内容输出格 ...

  7. centos7环境下mysql5.7的安装与配置(免安装版)

    最近无事闲来折腾虚拟机,以前都是折腾云服务器,现在自己捣捣.看到mysql的教程蛮好的,准备做个笔记.原文来自mysql5.7的安装与配置(centos7环境) 第一步:下载mysql ? 1 [ro ...

  8. Linux 在主要的搜索命令和视图的信息

    查找命令和硬件信息查看的日常系统管理.最常见的维护操作. 继 Linux 基本查找命令做一个简单的比较.并列出了一些硬件信息经常使用的视图命令. man 经常使用选项 -k 知道功能.不知道名称 -f ...

  9. Compile Graphics Magick, Boost, Botan and QT with MinGW64 under Windows 7 64

    Compile Graphics Magick, Boost, Botan and QT with MinGW64 under Windows 7 64 Sun, 01/01/2012 - 15:43 ...

  10. 【17.69%】【codeforces 659F】Polycarp and Hay

    time limit per test4 seconds memory limit per test512 megabytes inputstandard input outputstandard o ...