【问题标题】:C# How to remove 'ding' system sound when w,s,a,d buttons are pressedC#如何在按下w,s,a,d按钮时删除'ding'系统声音
【发布时间】:2018-02-28 12:53:29
【问题描述】:

首先我不能用

KeyEventArgs.SuppressKeyPress

因为我使用 Key_Down 事件来监听用户的输入,本质上我正在制作 Pacman 游戏,并且当用户按下 WS AD Windows 发出“叮”的声音。我想禁用它,但我不知道怎么做。 我的 Key_Down 方法:

if (e.KeyCode == Keys.A) //A press moves left
        {
            k = 1;
            left = true;
            right = false;
            up = false;
            down = false;
        }
        else if(e.KeyCode == Keys.D) //D press moves right
        {
            k = 3;
            left = false;
            right = true;
            up = false;
            down = false;
        }
        else if(e.KeyCode == Keys.S)
        {
            k = 2;
            left = false;
            right = false;
            up = false;
            down = true;
        }
        else if(e.KeyCode == Keys.W)
        {
            k = 4;
            left = false;
            right = false;
            up = true;
            down = false;
        }

我的表单使用了我在用户按下“开始”按钮时禁用的按钮。 我用:

Button.Disable = true; 这可能是由于按钮仍在侦听用户输入还是什么引起的? 我还有一些标签和一个列表框,我也需要禁用它们吗?

【问题讨论】:

  • 将事件设置为已处理?
  • 我将它设置为已处理,但它仍然发出声音
  • 链接代码也使用e.SuppressKeyPress = true。你应该试试。
  • 你必须下定决心。您可以使用 wasd 移动游戏对象您可以将其用于文本输入。两者都不是。

标签: c# winforms


【解决方案1】:

如果您使用的是 .NET 框架,请在处理后添加这行代码:

        e.SuppressKeyPress = true;

【讨论】:

    猜你喜欢
    • 2015-10-15
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2014-11-02
    • 2015-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多