2008-11-26 27 views
8

Có ai biết cách triển khai thông báo bong bóng tiêu chuẩn cảnh báo người dùng bất cứ khi nào Caps Lock được bật và kiểm soát mật khẩu có tập trung không? Điều này có được xây dựng trong khung công tác .NET hay không hoặc tôi có cần viết lớp của riêng mình để làm điều này không?WPF PasswordBox: Làm cách nào để cảnh báo người dùng rằng Caps Lock được bật?

+0

bạn đã giải quyết này? Tôi đang tìm kiếm như vậy? – abmv

+0

Tôi chưa giải quyết được vấn đề này. –

+0

Thực hiện theo: [Làm thế nào để đưa ra cảnh báo cho người sử dụng với bóng trong WPF] [1] [1]: http://stackoverflow.com/questions/1092808/wpf-warn-about- capslock/8060520 # 8060520 –

Trả lời

3

Bạn có thể thêm một chức năng xử lý để xử lý PasswordChanged sự kiện và thử nghiệm cho giá trị của phím CapsLock trong hàm . Nếu tìm thấy được trên, bạn có thể bật lên một tin nhắn từ đó.

+4

Điều này sẽ làm các trick! Để phát hiện CapsLock trong trình xử lý sự kiện, chỉ cần kiểm tra giá trị boolean của: Keyboard.IsKeyToggled (Key.CapsLock) –

2

Nếu bạn sử dụng một MaskedTextBox và chỉ định một PasswordChar khuôn khổ NET sẽ tự động làm điều này cho bạn

+4

Tôi tin rằng MaskedTextBox là một điều khiển WinForms - Tôi đang sử dụng WPF. Tôi muốn có thể tiếp tục sử dụng PasswordBox vì tính năng bảo mật tích hợp của nó. –

12

Đây là câu hỏi cũ và đã được trả lời nhưng tôi đã gặp vấn đề tương tự và lần đầu tiên tôi bắt đầu với Keyboard.IsKeyToggled(Key.CapsLock) nhưng trả lại false nếu Caps Lock được đặt trước khi ứng dụng đang chạy. Vì vậy, tôi tìm thấy một giải pháp hoạt động hoàn hảo.

Console.CapsLock //is boolean and returns true if CapsLock is on 

Tuyệt đối rực rỡ và đơn giản (đó là trong dll mscorlib, do đó bạn không cần phải lo lắng về việc phụ thuộc không cần thiết hoặc)

+0

cảm ơn rất nhiều. ý tưởng đó đang hoạt động tuyệt vời! – Nasenbaer

Các vấn đề liên quan