我从这里找到这个代码,在输入数字后在文本框的末尾添加一个像分钟或千克的单位。在C#
private void CowAgetxtBox_Leave(object sender, EventArgs e)
{
{
CowAgetxtBox.Text = CowAgetxtBox.Text + " Month";
}
}
private void CowAgetxtBox_Enter(object sender, EventArgs e)
{
{
CowAgetxtBox.Text = CowAgetxtBox.Text.Replace(" Month", "");
}
}
但我不知道如何获得这个数字, 我使用此代码,但它不起作用
int Age = int.Parse(CowAgetxtBox.Text);
答案 0 :(得分:4)
实际上将单元放在文本框中并不是一个好主意,这会在数据验证,本地化,转换,......中引起很多问题。 最好将它放在文本框之外:)
答案 1 :(得分:1)
当用户专注于文本框时,您只需要执行与您类似的过程。
int Age = int.Parse(CowAgetxtBox.Text.Replace(" Month", ""));
这将完成工作。
答案 2 :(得分:0)
似乎
CowAgetxtBox.Text
此语句包含除了数字之外的值,这就是为什么这个语句
int Age = int.Parse(CowAgetxtBox.Text);
无法正常工作从第一个功能中删除“月”
答案 3 :(得分:0)
您可以添加如下属性:
int Age {
get { return Convert.ToInt32(CowAgetxtBox.Text.Replace(" Month", "")); }
}
答案 4 :(得分:0)
如果单位标签发生变化,这可能会在更多情况下适用于您:
int Age = int.Parse(CowAgetxtBox.Text.Split(' ')[0]);