简化 我有一个文本框和一个按钮 该按钮只是使用文本框中的文本创建一个消息框。 但是我更改了文本框的值,新值apears(例如:类型123)但消息框没有显示值。
如果我尝试使用编程中的值(通过textbox1.text获取值),变量什么都没有(textbox1.text =“”),但我仍然可以看到我在表单中输入的内容。
任何人都有任何线索?
答案 0 :(得分:0)
您的按钮的点击事件处理程序应该看起来像这样
private void button_Click(object sender, EventArgs e)
{
MessageBox.Show(textBox.Text);
}
我怀疑你已经有类似的代码,并且在某些时候文本框被清除或以其他方式设置为String.Emppty但没有看到实际代码很难帮助你
答案 1 :(得分:0)
当/在哪里检查textBox1.Text的值?如果您在构造函数,Form1_Load或之前发生的任何其他内容中检查它,您将获得一个空值。
要正确检查textBox1.Text的值,您应该在调用MessageBox.Show(textBox1.Text)的行上设置所谓的断点。为此,请在包含MessageBox.Show(..)的行上单击源编辑器的灰色区域(位于最左侧)。将出现一个红色圆圈,并且您的代码应突出显示。当您运行应用程序并单击按钮时,应用程序应暂停,Visual Studio将突出显示该行,您可以从此处将鼠标悬停在MessageBox.Show()行中的“textBox1.Text”上,它应该显示当前值
如果您的应用程序像表单,文本框和button1_Clicked事件处理代码一样简单,那么这应该没有问题。如果不是这么简单,那么你需要在代码中查找设置textBox值的任何内容,并确保它没有使用断点传递任何空白值。
但要妥善解决这个问题,我们确实需要更多信息。
答案 2 :(得分:0)
感谢Eric和Crippledsmurf。正如你们两个人所说,没有代码就难以帮助。 我发现的问题是,在调用表单时,我通过引用发送一些对象,所以我可以跟踪它们,然后我发现当(不要问我为什么会这样发生,我还在努力) construtor被称为他创建一个新组件,因此界面中的组件不再代表变量“textbox1”指向的组件(是Crash893,我没有拼错名称)。
我发现我对引用有些混乱,可能是导致问题的原因。我通过更改代理和事件的引用执行的操作来修复问题,但我无法找到问题的确切来源。
再次感谢所有人的见解。