允许用户从密码字段复制文本
Allow user to copy text from a password field
在我的应用程序中有一个 TEdit
和 PasswordChar = '*'
。
当用户按下 Ctrl + C 时出现提示。
已翻译:
Not Allowed
You cannot copy text from a password field.
很明显,下拉菜单中的复制项被禁用
有没有办法为密码编辑器启用复制操作?
通常的方法是在编辑字段右侧有一个按钮,允许显示密码。这可能会受到某些访问条件的限制。虽然密码可见,但也可以复制。
这只是对 Uwe Raabe's correct 的一个小扩展;请更喜欢upvote/accept他的回答。
您实际上可以选择在密码编辑控件旁边设置 两个 按钮1:
- 一个在屏幕上显示密码(即设置
PasswordChar = #0
)。这可以在按下按钮时临时进行,也可以在每次单击时在两种状态之间切换。 (如果选择第一种方法,请记住 UI 必须在没有鼠标的情况下 100% 可用,只能使用键盘。)
- 将密码复制到剪贴板。
Firefox 提供了这种双重功能,我发现能够将密码放入剪贴板非常方便而无需在屏幕上看到它。
或者,您可能需要在执行任何操作之前进行一些安全检查。例如,Firefox 要求输入主密码(如果存在)。
1 确保两个按钮都可以用鼠标和键盘使用。特别是,这意味着您 不能 使用 TSpeedButton
控件(至少不是没有额外的努力)。不过,TBitBtn
没问题。还要确保 Tab 键顺序正确:从左到右。用这个三控件群创建一个新的自定义控件是个好主意。我建议您让按钮具有工具提示:分别为 Show password
和 Copy password
。
在我的应用程序中有一个 TEdit
和 PasswordChar = '*'
。
当用户按下 Ctrl + C 时出现提示。
已翻译:
Not Allowed
You cannot copy text from a password field.
很明显,下拉菜单中的复制项被禁用
有没有办法为密码编辑器启用复制操作?
通常的方法是在编辑字段右侧有一个按钮,允许显示密码。这可能会受到某些访问条件的限制。虽然密码可见,但也可以复制。
这只是对 Uwe Raabe's correct
您实际上可以选择在密码编辑控件旁边设置 两个 按钮1:
- 一个在屏幕上显示密码(即设置
PasswordChar = #0
)。这可以在按下按钮时临时进行,也可以在每次单击时在两种状态之间切换。 (如果选择第一种方法,请记住 UI 必须在没有鼠标的情况下 100% 可用,只能使用键盘。) - 将密码复制到剪贴板。
Firefox 提供了这种双重功能,我发现能够将密码放入剪贴板非常方便而无需在屏幕上看到它。
或者,您可能需要在执行任何操作之前进行一些安全检查。例如,Firefox 要求输入主密码(如果存在)。
1 确保两个按钮都可以用鼠标和键盘使用。特别是,这意味着您 不能 使用 TSpeedButton
控件(至少不是没有额外的努力)。不过,TBitBtn
没问题。还要确保 Tab 键顺序正确:从左到右。用这个三控件群创建一个新的自定义控件是个好主意。我建议您让按钮具有工具提示:分别为 Show password
和 Copy password
。