为什么我的文本框 TextChanged 事件在文本框中输入一个字符后触发"only"?


private void NameVal_TextChanged(object sender, EventArgs e)
    {
        String text = NameVal.Text;
    }

只要我输入名字的第一个字母,这个程序就会执行。我如何使程序等待,直到我完成输入整个字符串的字段(如Name ex: James)的输入。

如果您想确定用户何时完成键入,则可以捕获leave事件-当焦点不在该文本框上时触发该事件-即用户单击文本框外:

private void NameVal_Leave(object sender, EventArgs e)
{
    //Do your stuff
    String text = NameVal.Text;
}

如果您正在使用VS2019,则TextChanged事件和Focus Leave事件之间存在相关性。您必须有一个TextChanged Event,然后当您搜索事件并找到Focus选择Leave时,将会有一个下拉框,其中包含与Focus Event相同的对象的TextChanged事件,您将选择它。这会将Leave Event添加到Form1定义区域,但它不会像通常双击TextBox那样在Form1的代码区域中生成代码。你必须创造你自己。这篇文章帮助我做到了这一点。那天晚些时候。我错了。您不必选择TextChanged事件。这是当时下拉列表中唯一可用的一个。我必须在form1定义区域中再次添加这两个事件,因为我已经删除了TextChanged事件并手动添加了Focus_Leave事件,然后返回添加TextChanged事件。我在这里做实验。但是,当我删除它们并再次在form .design文件中重新输入事件时,有可能选择正确的事件。我又犯了一个错误,但现在它们又同步了。这是所有的代码在后台生成与MS VS使得它很难改变这一领域。当然,他们确实告诉你不要改变它,但是如果你犯了这样的错误,你该怎么办呢?你不是重新开始,而是直接开始,继续学习他们是如何做的。

相关内容

  • 没有找到相关文章

最新更新