先生,天啊!我能够使用阅读器从我的数据库中调用数据,在获取数据库中的数据后,当我得到我的预期数据时,它们将出现一个messageBox。这是我的示例代码:
if (textBox5.Text == "")
{ }
else
{
DialogResult ms = MessageBox.Show("Try Again", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
if (ms == DialogResult.OK)
{
textBox5.Clear();
textBox1.Clear();
listBox5.Items.Clear();
textBox3.Clear();
listBox4.Items.Clear();
}
}
while (reader.Read())
{
listBox4.Items.Clear();
if (string.Compare(label1.Text, reader.GetString(0)) == 0)
{
for (int t = 1; t < 11; t++)
{
words.Add(reader.GetString(t));
}
}
words.Shuffle();
listBox4.Items.AddRange(words.ToArray());
}
reader.Close();
coon.Close();
我的问题是,当我应用这些代码时,会出现两个messageBox,所以我删除了这些代码:
textBox5.Clear();
textBox1.Clear();
listBox5.Items.Clear();
textBox3.Clear();
listBox4.Items.Clear();
我想要的只是我想要一次显示messageBox。你可以帮帮我吗?
答案 0 :(得分:0)
您没有显示足够的代码,但我将假设此函数位于TextChanged
事件中。
如果是这种情况,您正在检查TextBox5
是否有某些文字,那么您正在清除表单上的一些控件。你没有展示其他事件以及他们做了什么,所以现在很难告诉你更多。
考虑调试代码并逐行逐步执行,这样您就可以按照程序流程的逻辑来查看打嗝的发生位置......
我也会更改前3行:
if (textBox5.Text == "")
{ }
else
with if (!string.IsNullOrEmpty(this.textBox5.Text.Trim()))
,这意味着,如果string不为空(确切为null或空)。
希望这有帮助。
祝你好运