c# - 有没有办法在运行时从控件中删除 Alt 字符快捷方式?

标签 c# winforms keyboard-shortcuts

我有一个对话框,其中包含文本框/等标签上的许多 Alt-Letter 快捷方式。该对话框可以以可编辑或只读模式显示数据。我收到了一项请求,要求在对话框处于只读模式时隐藏快捷方式的下划线。除了在运行时编辑标签文本(呃)之外,还有什么方法可以删除它们吗?

如果您不知道我所说的 alt-Letter 快捷方式指的是什么,请参阅 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);
        }
    }
}

关于c# - 有没有办法在运行时从控件中删除 Alt 字符快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2472932/

相关文章:

c# - WithDegreeOfParallelism(N>CPU 数量)

c# - 如何使用共享访问策略连接字符串在azure服务总线中创建SAS策略

c# - 如何在 ASP.NET MVC 中使用自定义属性扩展身份?

c# - 如何等待文件完全复制?

c# - 如何在Winform中输入韩文?

c# - 如何使用 C# 设置组合框中的选定项以匹配我的字符串?

C# 键盘快捷键在调用第二个 XAML 窗口后退出工作

android-studio - Android Studio向后导航快捷方式在Windows中不起作用

visual-studio - Visual Studio 中代码重构(var 重命名)的键盘快捷键

c# - 在 DataGridView 中完成添加行