文本框不会接受超过 1 个字符而不会在 C# 中消失
本文关键字:字符 消失 文本 | 更新日期: 2023-09-27 18:29:33
private void btnClassNameA_Click(object sender, EventArgs e)
{
txtbClassNameA.Visible = true;
txtbClassNameA.Focus();
}
private void txtbClassNameA_KeyDown_1(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) ;
btnClassNameA.Text = txtbClassNameA.Text;
txtbClassNameA.Visible = false;
}
单击按钮后,将显示一个文本框。 我无法让它一次接受超过 1 个字符而不会消失。 它应该通过按回车键消失。 任何帮助将不胜感激!
您当前的代码等效于以下内容:
private void txtbClassNameA_KeyDown_1(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) { } // does nothing, just evaluates the condition
btnClassNameA.Text = txtbClassNameA.Text;
txtbClassNameA.Visible = false;
}
你必须像这样改变它:
private void txtbClassNameA_KeyDown_1(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
btnClassNameA.Text = txtbClassNameA.Text;
txtbClassNameA.Visible = false;
}
}
if 语句的格式不正确。像这样尝试:
if (e.KeyCode == Keys.Enter)
{
btnClassNameA.Text = txtbClassNameA.Text;
txtbClassNameA.Visible = false;
}
private void txtbClassNameA_KeyDown_1(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
btnClassNameA.Text = txtbClassNameA.Text;
txtbClassNameA.Visible = false;
}
}
如果这是你的实际代码,分号可能会让你失望。试试这个。
您的条件后面似乎有一个分号。
现在它正在评估条件,然后继续更新文本并使框不可见。
private void txtbClassNameA_KeyDown_1(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
btnClassNameA.Text = txtbClassNameA.Text;
txtbClassNameA.Visible = false;
}
}
可能会给你更好的结果。