Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Currency TextBox仅在通用商店应用程序中接受数字

Currency TextBox仅在通用商店应用程序中接受数字
EN

Stack Overflow用户
提问于 2015-12-07 05:16:29
回答 1查看 299关注 0票数 0

我正在开发一个通用的Windows应用程序。我有一个TextBox,我想只接受数字。此外,还要将TextBox格式化为美国货币(不带$符号-仅使用逗号和小数)

在我的TextChanged中我已经有了一个可以正常工作的代码。另外,为了更容易阅读,添加了注释。我只是想知道,由于我对此非常陌生,如果我这样做是正确的?有没有更好的方法来实现同样的目标?我觉得很奇怪的是,MS没有包括一个烘焙的方式来做这么简单的事情。

谢谢

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 private void textBox_TextChanged(object sender, TextChangedEventArgs e)
    {
        // Do not apply if textbox is empty - needed to avoid exceptions
        if (textBox.Text.Length == 0) { return; }
        decimal charInput;
        string value = textBox.Text.Replace(",", "").Replace(".", "").TrimStart('0');                       
        // Make sure to only accept numbers as input          
        if (decimal.TryParse(value, out charInput))
        {
            charInput /= 100;
            //Unsub the event so we don't enter a loop
            textBox.TextChanged -= textBox_TextChanged;
            //Format numbers as currency
            textBox.Text = string.Format(new System.Globalization.CultureInfo("en-US"), "{0:N}", charInput);
            textBox.TextChanged += textBox_TextChanged;
            textBox.Select(textBox.Text.Length, 0);
        }
        else {
            // Remove last character if NOT a number
            textBox.Text = textBox.Text.Remove((textBox.Text.Length - 1));
            // force cursor to the end of text to avoid random movements                
            textBox.SelectionStart = textBox.Text.Length;
        }
 }
EN

回答 1

Stack Overflow用户

发布于 2015-12-07 07:04:55

AFAIK目前还没有专门的类来解决这个问题。然而,下面是一个MSDN article,它显示了一个由TextBox驱动的类,它在过去对我来说工作得很好。

希望这能有所帮助!

https://msdn.microsoft.com/en-us/library/ms229644(v=vs.100).aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34126918

复制
相关文章
C# TextBox中只允许输入数字的方法
在做WinForm开发的时候TextBox控件是我们最常用到的控件之一,但是有些情况我们在TextBox里面只想输入数字,像一些数量,货币金额等的值,如果输入了字母或汉字,保存到数据库里肯定会引发异常,这里就介绍一下怎么让TextBox只允许输入数字。
Vaccae
2019/07/24
8.8K0
WPF设置文本框(TextBox)只能输入数字
其中 InputMethod.IsInputMethodEnabled="False"禁用输入法 后台代码限定只能输入数字
码客说
2022/06/04
3.1K0
WPF TextBox搜索框&自定义TextBox样式
首先要做搜索框当然要有一个搜索的图标啦,幸运的是,fontawesome里面有的~
zls365
2021/04/02
4.8K0
【Aizu 2305】Beautiful Currency
  给你n个货币价格,然后通过调整一些货币的大小,使得所有比自己小的货币都是该货币的约数,调整前第 i 货币为a,调整后为b 那么变化率为 ri=|a-b|/a ,总变化率为max(ri)。求最小的总变化率。
饶文津
2020/06/02
2840
c# TextBox
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155670.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/07
5810
winform中textbox属性Multiline=true时全选
1、文本框右键属性 => 添加KeyDown事件。 2、添加如下代码: private void txt_result_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.A) { ((TextBox)sender).SelectAll(); } }
磊哥
2018/05/08
1K0
WPF Textbox设置Placeholder
将一个与占位符绑定的TextBlock放入VisualBrush内,在TextBox的Text为空时使用VisualBrush绘制背景,不为空时背景设为Null。
码客说
2023/02/10
2K0
DataGrid模板列中TextBox的焦点相应键盘事件
DataGrid模板列中TextBox的焦点相应键盘事件      首先在DataGrid中加入模板列:      < asp:datagrid id="datagrid1" runat="server">        <AlternatingItemStyle BackColor="#EEEEEE"></AlternatiingItemStyle>         <ItemStyle Font-Size="12px" ></ItemStyle>          <HeaderStyle Fo
阿新
2018/04/13
1.6K0
vcl组件_TextBox控件
Label(标签)是比较常见的控件。其常见的属性,我不再多说。在此只说明一些比较好用的属性。
全栈程序员站长
2022/11/08
3690
c#透明TextBox
在 http://www.codeproject.com/KB/edit/AlphaBlendedTextControls.aspx 的基础上增加了水印文字
冰封一夏
2019/09/10
1.8K0
c#透明TextBox
数字货币疯涨,为何不被主流市场接受?
文|孟永辉 尽管国内市场对于数字货币的看法日趋谨慎,但是丝毫没有影响到国际市场上数字货币的市场行情。近来原本价格高涨的数字货币再次站上新高点,有关数字货币回归的呼声越来越高。资本对于数字货币的关注同样开始增加,甚至有消息传出有资本开始投资数字货币的消息。而从当前国内市场对于数字货币的态度来看,预计数字货币的回归还需要一定的时间。 盲目的去中间化、缺少政策层面的支持、难以落地到实体经济都在让数字货币距离金融行业的中心越来越远。然而,不可否认的是,数字货币作为一种新型的货币表达方式,代表着未来数字化时代金融发展
孟永辉
2018/05/15
5810
仅在 localhost 中部署并使用 RSSHub
由于部分网站严格的反爬机制、再加上大量使用带来的计算压力,RSSHub 鼓励用户自建使用。但如果你也有自建 RSS 阅读器习惯、且部署 RSSHub 也只是为了自用而不打算与他人共享,完全可以本地部署 RSSHub 后不将其暴露至公网、直接在自建 RSS 阅读器上通过特殊字段访问到本地的 RSSHub。
幻影龙王
2021/09/08
2.1K0
教你如何编写测试用例
测试用例是一组有条件的用例,QA可以依靠这些条件来确定应用程序、软件系统或某些功能是否按预期执行。
软测小生
2020/04/14
1.6K0
教你如何编写测试用例
ASP.NET中 RangeValidator(范围验证)的使用[通俗易懂]
1,ControlToValidate:要验证的控件 2,ErrorMessage:错误提示信息 3,MaximumValue:最大值 4,MinimumValue:最小值 4,Type:Integer【整数型】;Date【日期】;Double【双精度浮点型】;String【字符串型】;Currency[货币类型]
全栈程序员站长
2022/09/07
1.8K0
ASP.NET中 RangeValidator(范围验证)的使用[通俗易懂]
Oracle参数解析(nls_currency)
前面介绍了Oracle的基本参数,从这节开始讲其他的参数,参数从v$parameter中提取
bsbforever
2020/08/19
6450
Oracle参数解析(nls_currency)
点击加载更多

相似问题

<asp:TextBox>应该只接受数字

70

如何不接受TextBox中的数字?

30

谷歌应用程序制造商: TextBox只接受数字

28

如何在XAML中创建TextBox样式,使TextBox只接受数字

10

使VBA Form specific TextBox只接受数字,也接受“。

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文