【问题标题】:How to check if a "." has been input into a TextBox?如何检查是否为“。”已输入到文本框?
【发布时间】:2013-01-23 13:55:16
【问题描述】:

如何检查“。”是否已输入到 TextBox 中?

是不是有点像:

if (TextBox1.Text == ".")
{
    //Do something...
}

因为当我这样做时,它似乎没有检查 TextBox1 中的内容,而是继续执行下一行代码

这是我的代码:

private void btnContinue1_Click(object sender, RoutedEventArgs e)
    {
        if (string.IsNullOrEmpty(HouseholdNoTextBox.Text))
        {
            textBlockError2.Visibility = Visibility.Collapsed;
            textBlockError1.Visibility = Visibility.Visible;                
        }
        if (HouseholdNoTextBox.Text.Length >= 3)
        {//checking to see if it has a length greater than 2
            textBlockError1.Visibility = Visibility.Collapsed; // collapse the first error box if it is visible
            textBlockError2.Visibility = Visibility.Visible; // and make visible the second
        }
        if (HouseholdNoTextBox.Text == ".")
        {
            textBlockError1.Visibility = Visibility.Visible;  
        }
        if (HouseholdNoTextBox.Text.Length <= 2 && HouseholdNoTextBox.Text.Length > 0)
        {
            textBlockError1.Visibility = Visibility.Collapsed;
            textBlockError2.Visibility = Visibility.Collapsed;
            NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
        }

我也试过了:

if (HouseholdNoTextBox.Text.Contains("."))
        {
            textBlockError1.Visibility = Visibility.Visible;  
        }

我也试过了:

private void btnContinue1_Click(object sender, RoutedEventArgs e)
    {
        string houseHoldNo = HouseholdNoTextBox.Text.ToString();

        if (string.IsNullOrEmpty(HouseholdNoTextBox.Text) || houseHoldNo.Contains(".")) // adding it here along with the first if statement
        {
            textBlockError2.Visibility = Visibility.Collapsed;
            textBlockError1.Visibility = Visibility.Visible;                
        }
    }

我也试过了:

private void btnContinue1_Click(object sender, RoutedEventArgs e) { 字符串 houseHoldNo = HouseholdNoTextBox.Text.ToString();

        if (string.IsNullOrEmpty(HouseholdNoTextBox.Text))
        {
            textBlockError2.Visibility = Visibility.Collapsed;
            textBlockError1.Visibility = Visibility.Visible;                
        }
        if (houseHoldNo.Contains("."))
        {
            textBlockError1.Visibility = Visibility.Visible;
        }
    }

上面的代码和其他代码一样。它跳到最后一个 if 语句。

【问题讨论】:

  • 那么你把代码放在哪里了?它必须在文本框文本更改时触发的某些事件中......
  • 而不是始终启用按钮,处理 TextBox 上的 TextChanged 或 KeyUp 事件,并仅在满足您的条件时启用按钮。
  • 您是否在评估 houseHoldNo.Text 的行上设置了断点以查看其值是多少?

标签: windows-phone-7


【解决方案1】:

您可以通过检查“。”来做到这一点。

if(TextBox1.Text.Contains("."))
{
//Do Something
}

然后处理TextBox.TextChanged事件并将上面的代码放入其中。

【讨论】:

  • 是的,我看到了,但我的主要观点是在 TexBox.TextChanged 事件中使用它
【解决方案2】:

我会尝试键入this.Focus 作为您在按钮事件下的第一个操作(这将隐藏键盘)。然后在下一行创建像string tbContent = HouseholdNoTextBox.Text 这样的变量,最后在所有“if”语句中使用这个变量而不是HouseholdNoTextBox.Text。第一次尝试在第一个“if”上设置断点并检查您的字符串是否具有值(“.”或其他)。如果是,则两种比较方法(==、Contains())都应该在 imo 中工作。

【讨论】:

  • 我没有注意到,在您的第三次尝试中,您基于 textbox.text 创建了字符串无论如何尝试 this.Focus,因为它会更新页面上的所有控件值。
猜你喜欢
  • 1970-01-01
  • 2018-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 2013-03-05
相关资源
最近更新 更多