You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#登录窗体:实现按住按钮显示密码、松开隐藏的方法

解决C# WinForms密码框按住按钮显示、松开隐藏的问题

你需要正确绑定按钮的MouseDown、MouseUp以及MouseLeave事件,以下是具体实现步骤:

  1. 绑定事件
    确保你的显示密码按钮(假设命名为btnShowPass)已经关联了对应的事件处理方法。可以通过窗体设计器的属性窗口(事件选项卡)绑定,或者在窗体构造函数中手动添加:

    public LoginForm() // 你的登录窗体构造函数
    {
        InitializeComponent();
        btnShowPass.MouseDown += btnShowPass_MouseDown;
        btnShowPass.MouseUp += btnShowPass_MouseUp;
        btnShowPass.MouseLeave += btnShowPass_MouseLeave;
    }
    
  2. 编写事件处理代码

    // 按住按钮时显示密码
    private void btnShowPass_MouseDown(object sender, MouseEventArgs e)
    {
        txtPass.PasswordChar = '\0'; // 空字符表示不隐藏密码
    }
    
    // 松开按钮时隐藏密码
    private void btnShowPass_MouseUp(object sender, MouseEventArgs e)
    {
        txtPass.PasswordChar = '*';
    }
    
    // 鼠标移出按钮区域时,强制隐藏密码(防止按住按钮移出后密码一直显示)
    private void btnShowPass_MouseLeave(object sender, MouseEventArgs e)
    {
        txtPass.PasswordChar = '*';
    }
    

常见问题排查

  • 如果之前绑定事件后没生效,检查是否在设计器中误删了事件关联,或者事件方法的签名是否正确(参数类型必须匹配MouseEventArgs)。
  • 确保txtPass是正确的密码框控件实例,没有拼写错误。

内容的提问来源于stack exchange,提问作者Alexandre Marques

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 03:33:12