如何显示格式化文本但具有实际文本

时间:2010-03-29 18:45:23

标签: .net winforms text formatting textbox

我有自己的文本框,它继承了System.Windows.Forms.TextBox
我正在尝试显示5000000格式的文本==> 5000000 但问题是Control.Text应该返回5000000但它应该显示5,000,000。

我知道这是WTF,但我真的需要它而且我不能谷歌很多,因为我的母语不是英语(任何人都可以从我的语法中得到它,我很抱歉)。

5 个答案:

答案 0 :(得分:1)

您可以将标记属性用作Andrey suggested,并更新TextChange事件中标记属性的值。

答案 1 :(得分:1)

如果要检索它,请使用int.ParseCultureInfo.CurrentCulture将显示的字符串转换为整数,然后使用ToStringCultureInfo.InvariantCulture将其转换回字符串。< / p>

答案 2 :(得分:1)

(注意:没有时间查找正确的方法名称,但希望我足够接近有意义......)

创建一个源自TextBox

的自定义控件

为焦点事件的控件添加处理程序(或者更好,覆盖OnFocus / OnBlur的方法)。当控件失去焦点时,将当前文本存储在私有变量(例如,OriginalText)中,并将实际文本更新为格式化版本。当控件获得焦点时,请恢复原始文本。

答案 3 :(得分:0)

使用每个控件都有的Tag属性

答案 4 :(得分:0)

您可以将原始值保留在Tag属性(对象)中。