【问题标题】:other name instead of variable name in c#其他名称而不是c#中的变量名
【发布时间】:2014-08-24 05:02:02
【问题描述】:

我的 Windows 窗体上有 22 个文本框。我正在使用 foreach 循环来测试这些字段是否为空。然后我想向用户显示一个字段为空的错误消息。我想错误地使用字段的名称。例如,如果我有两个名为“UserName”和“TotalPrice”的文本框。如果“用户名”为空,那么我想显示一个消息框“用户名为空”,当“总价”为空时,我想显示“总价为空 >' 等等。但如果我在错误消息中使用“UserName.Name”或“TotalPrice.Name”,则会显示字段名称。我想在 Windows 窗体上使用“显示属性”之类的东西。有什么解决办法吗?

PS:对不起我的英语不好

【问题讨论】:

  • 循环控制集合。测试每个元素是否是文本框。如果它被强制转换为 TextBox。测试其内容并显示您的消息: Foreach (Control c int this.Controls) if (c as TextBox != null) if (((TextBox)c).Text=="") MessageBox((TextBox)c).Name + " 为空!","警告");
  • 我也在做同样的事情。我只想包含有错误的字段名称。如果我使用控件的 Name 属性,它使用变量名称,但我想要一些其他名称
  • 你把你想显示的名字放在哪里了?如果你没有,你需要 - 也许是标签,正如 Emran 建议的那样。如果是标签,则需要在标签名称和文本框名称之间建立连接。
  • 我得到了答案。它是文本框的“标签”属性

标签: c# winforms forms validation


【解决方案1】:

使用 Tag 属性并重用它来显示消息

foreach (TextBox item in this.Controls.OfType<TextBox>()) {
    if (item.Text.Trim() == "") {
       MessageBox.Show(item.Tag.ToString());
    }
}

在使用此代码之前,将 TextBox 的标记设置为“总价格为空”或“用户名为空”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-03
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多