首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >两个文本框之间的检查

两个文本框之间的检查
EN

Stack Overflow用户
提问于 2012-11-30 06:18:41
回答 4查看 9.8K关注 0票数 1

我正在C# (visual )中开发一个更改密码窗口窗体应用程序。这就是我的应用程序的工作方式,在用户输入新密码并通过textbox验证之后,将在新密码文本框旁边显示一个滴答。

我面临的问题是如何检查重新键入的密码是否与正在输入的新密码相同?在检查它们是否相同之后,勾选将显示用户它被选中了并且是相同的。我不想单击任何按钮来检查两个文本框,而是在用户停止键入后进行检查。我怎么能这么做?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-30 06:33:06

创建一个新的windows窗体项目。在表单上放置两个文本框,仅此而已。使用它们的默认名称textBox1textBox2,将下面的代码放在Form1.cs中(因为这是文件的默认名称)。现在,当用户按下一个键时,就会进行比较。如果文本相同,则文本框的背景色变为绿色,否则将变为红色。

代码语言:javascript
运行
复制
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            textBox1.KeyUp += textBox_Compare;
            textBox2.KeyUp += textBox_Compare;
        }

        private void textBox_Compare(object sender, KeyEventArgs e)
        {
            Color cBackColor = Color.Red;
            if (textBox1.Text == textBox2.Text)
            {
                cBackColor = Color.Green;
            }
            textBox1.BackColor = cBackColor;
            textBox2.BackColor = cBackColor;
        }
    }
}

注意,我没有使用设计器来附加KeyUp事件,而是在Form1:textBox1.KeyUp += textBox_Compare;的构造函数中这样做的。

票数 4
EN

Stack Overflow用户

发布于 2012-11-30 06:24:07

我认为您可以使用TextChanged侦听器函数。或者keyDown事件。

样本代码:

代码语言:javascript
运行
复制
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;

this.textBox1.TextChanged += new System.EventHandler(passwordChanged);
this.textBox2.TextChanged += new System.EventHandler(passwordChanged);

private void passwordChanged(object sender, EventArgs e)
{
    String newPassword1 = textBox1.Text;
    String newPassword2 = textBox2.Text;
    if (!newPassword1.Equals(newPassword2))
    {
        textBox1.BackColor = Color.Red;
        textBox2.BackColor = Color.Red;
    }
    else
    {
        textBox1.BackColor = Color.White;
        textBox2.BackColor = Color.White;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2012-11-30 06:36:16

我认为您应该验证LostFocus中重新输入密码TextBox的文本。在这里,您可以检查两个字段中的文本是否匹配,并显示适当的消息。此外,这将只触发一次时,用户已经完成了部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13640035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档