Пароль пароля для RichTextBox - PullRequest
1 голос
/ 15 декабря 2010

Я использую прозрачный пользовательский элемент управления на основе RichTextBox . Есть ли какой-нибудь способ иметь поддержку символов пароля, как в обычном элементе управления TextBox.

Ответы [ 3 ]

5 голосов
/ 15 декабря 2010

Это просто сделать, RTB фактически реализует поддержку ввода пароля. Он просто не отображается в оболочке .NET. Добавьте новый класс в ваш проект и вставьте код, показанный ниже. Компиляция. Перетащите новый элемент управления из верхней части панели инструментов на форму.

using System;
using System.Windows.Forms;

class RichPassword : RichTextBox {
    protected override CreateParams CreateParams {
        get {
            // Turn on ES_PASSWORD
            var cp = base.CreateParams;
            cp.Style |= 0x20;
            return cp;
        }
    }
}
0 голосов
/ 17 февраля 2018

Это сработало для меня и решило цель.

Public Class RichPassword
    Inherits RichTextBox
    Private Const ES_PASSWORD = 32  
    Protected Overrides ReadOnly Property CreateParams As CreateParams
        Get
            Dim CP = MyBase.CreateParams
            CP.Style = CP.Style Or 32
            Return CP
        End Get
    End Property
End Class
0 голосов
/ 15 декабря 2010

Да, есть способ. Вам придется перехватывать нажатия клавиш до их отрисовки (ищите PreviewKeyDown или аналогичные события) и менять их на звездочки (*). Но вам также нужно реализовать логику для управления строкой реальных символов.

Примечание. Я согласен с комментарием Коди Грей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...