【问题标题】:Problem changing values in textbox文本框中更改值的问题
【发布时间】:2009-06-01 19:47:48
【问题描述】:

简化 我有一个文本框和一个按钮 该按钮只是使用文本框中的文本创建一个消息框。 但是我更改了文本框的值,出现了新值(例如:Type 123),但消息框不显示该值。

如果我尝试在编程中使用该值(通过 textbox1.text 获取值),该变量没有任何内容(textbox1.text = "")但我仍然可以看到我在表单中输入的内容。

有人知道吗?

【问题讨论】:

  • 你确定你有正确的文本框吗?有时 textbox1 和 textbox11 看起来一样,当你有很多时(在这里插入关于正确命名的唠叨)

标签: c# winforms


【解决方案1】:

您的按钮的点击事件处理程序应如下所示

private void button_Click(object sender, EventArgs e)
{
MessageBox.Show(textBox.Text);
}

我怀疑你已经有类似的代码,并且在某些时候文本框被清除或设置为 String.Emppty 但没有看到实际代码很难帮助你

【讨论】:

  • 这正是我正在做的事情。我去看看其他功能,看看有没有人在清理文本框。
【解决方案2】:

您何时/在何处检查了 textBox1.Text 的值?如果您在构造函数、Form1_Load 或在您输入文本之前发生的任何其他情况下检查它,您将得到一个空值。

要正确检查 textBox1.Text 的值,您应该在调用 MessageBox.Show(textBox1.Text) 的行上设置所谓的断点。为此,请单击包含 MessageBox.Show(..) 的行的源代码编辑器的灰色区域(位于最左侧)。将出现一个红色圆圈,您的代码应突出显示。当您运行您的应用程序并单击您的按钮时,您的应用程序应该暂停,Visual Studio 将突出显示该行,从这里您可以将鼠标悬停在 MessageBox.Show() 行中的“textBox1.Text”上,它应该向您显示当前值.

如果您的应用程序与表单、文本框和您的 button1_Clicked 事件处理代码一样简单,那么这应该没有问题。如果不是这么简单,那么您需要在代码中查找设置 textBox 值的任何内容,并确保它没有使用断点传递任何空白值。

不过,要正确解决这个问题,我们确实需要更多信息。

【讨论】:

    【解决方案3】:

    感谢 Eric 和 Crippledsmurf。正如你们俩所说,没有代码就很难提供帮助。 我发现的问题是,在调用表单时,我通过引用发送了一些对象,所以我可以追踪它们,我发现当(不要问我为什么会这样,我还在努力)调用了construtor他做了一个新组件,所以界面中的组件不再代表变量“textbox1”所指向的那个(是Crash893,我没有拼错名字)。

    我发现我把引用弄得一团糟,这可能是导致问题的原因。我通过更改代表和事件的引用执行的操作来解决问题,但我无法找到问题的确切根源。

    再次感谢大家的见解。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      • 2014-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多