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. 错误提示效果图:
待续 … …
作者:李敬然(Gnie)
出处:{GnieTech} (http://www.cnblogs.com/gnielee/)
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
出处:{GnieTech} (http://www.cnblogs.com/gnielee/)
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述