我有一个对话框,在文本框/ etc的标签上带有许多Alt-Letter快捷方式。该对话框可以以可编辑或只读模式显示数据。如果对话框处于只读模式,我已经收到了隐藏快捷方式下划线的请求。除了在运行时(ugh)编辑标签文本外,还有什么方法可以删除它们?
如果您不知道alt-字母快捷方式指的是什么,请参阅this问题。
最佳答案
您可以仅迭代控件并删除与号。例如:
public partial class dlgSample : Form {
public dlgSample(bool isReadOnly) {
InitializeComponent();
if (isReadOnly) ZapMnemonics(this.Controls);
}
private void ZapMnemonics(Control.ControlCollection ctls) {
foreach (Control ctl in ctls) {
if (ctl is Label || ctl is Button) ctl.Text = ctl.Text.Replace("&", "");
ZapMnemonics(ctl.Controls);
}
}
}