清除一个c#表单文本框
我正在用C#表单制作一个简单的hang子手风格的游戏。我把它设置为textBox1_TextChanged。除了每次用户退回他们的猜测信件,它都会占用空间。在消息指出正确/错误消除了空间后,我怎么能这样做。我讨厌它告诉用户他们在退格后做出了错误的猜测。这是我在这个论坛上的第一篇文章,所以很抱歉,如果代码文本是奇怪的。我只是想让程序在猜出后清除文本框中的文本。清除一个c#表单文本框
更新:添加了建议的信息。现在它做它应该做的一切。除了它弹出一个窗口说“在目标词中找到”。如果guessLetter == null ||会发生这种情况guessLetter ==正确|| guessLetter == false。
private void textBox1_TextChanged(object sender, EventArgs e)
{
string guessLetter = textBox1.Text;
//textBox1.ReadOnly = true;
if (targetWord == null)
{
MessageBox.Show("Please start a new game.");
textBox1.Text = ("");
}
else
{
if (targetWord.Contains(guessLetter))
{
MessageBox.Show(guessLetter + " was found in the word");
}
else
{
MessageBox.Show(guessLetter + " was not found in the word");
incorrectGuessCtr++;
textBox3.Text = incorrectGuessCtr.ToString();
}
textBox1.Text = ("");
}
}
不要只检查是否targetWord
是空的,但也guessLetter
。你最好使用string.IsNullOrEmpty
过,因为它还会检查字符串为空:
if (!string.IsNullOrEmpty(targetWord) && !string.IsNullOrEmpty(guessLetter))
{
...
}
我想你也应该检查是否恰好有一个字母输入。这将意味着这个额外的检查:
if (guessLetter.Length == 1)
{
...
}
您解决了我遇到的问题,现在我将修复下一个问题。我也更新了我的代码。 –
编写代码时,在文本框改变Text属性,您将进入本次活动。我的意思是这个。
textBox3.Text = incorrectGuessCtr.ToString();
装上去的函数参数或设置一些标志,这样就可以识别该事件是否是由用户输入或您清除文本调用。 只需检查用户按下退格键时调用此功能的次数。你会明白这个主意。
基础知识。 textBox1.Text = String.Empty; – icbytes
有点好奇,但如果他们键入多个字母,它是如何工作的? – Jacobr365
[如何清除C#中的TextBox中的所有数据/字符串]可能的重复(http://*.com/questions/6479049/how-to-clear-all-data-string-in-a-textbox-in -c-sharp) – SeM