Некоторые клавиатуры более разговорчивы, чем другие?

Ведущий разработчик говорит, что когда он использует мое приложение, его клавиатура издает звуковой сигнал, когда он перемещается между текстовыми полями на TableLayoutPanel с помощью клавиш со стрелками направления.

Однако я не слышу такой звуковой активности.

Вот мой код:

// Had to intercept Up and Down arrows from Windows
private void textBoxPlatypi_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
    TextBox tb = (TextBox)sender;

    if (e.KeyCode.Equals(Keys.Up)) {
        SetFocusOneRowUp(tb.Name);
        return;
    }
    if (e.KeyCode.Equals(Keys.Down)) {
        SetFocusOneRowDown(tb.Name);
        return;
    }
}

private void textBoxPlatypi_KeyDown(object sender, KeyEventArgs e) {
    TextBox tb = (TextBox)sender;

    if (e.KeyCode.Equals(Keys.Left)) {
        SetFocusOneColumnBack(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Right)) {
        SetFocusOneColumnForward(tb.Name);
        e.Handled = true;
        return;
    }
}

..Он подумал, может быть, мне нужно "e.Handled", но это недоступно в событии PreviewKeyDown.

Есть ли способ подавить звуковой сигнал (который, по-видимому, происходит только с определенными клавиатурами или определенными настройками (он использует Windows7, я все еще на XP))?

ОБНОВЛЕНИЕ

Теперь у меня есть этот код:

private void textBoxPlatypus1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
    switch (e.KeyCode) {
        case Keys.Down:
        case Keys.Up:
            e.IsInputKey = true;
            break;
    }
}

private void textBoxPlatypus1_KeyDown(object sender, KeyEventArgs e) {
    TextBox tb = (TextBox)sender;

    if (e.KeyCode.Equals(Keys.Up)) {
        SetFocusOneRowUp(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Down)) {
        SetFocusOneRowDown(tb.Name);
        e.Handled = true;
        return;
    }

    if (e.KeyCode.Equals(Keys.Left)) {
        SetFocusOneColumnBack(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Right)) {
        SetFocusOneColumnForward(tb.Name);
        e.Handled = true;
        return;
    }
}

... но он все еще слышит звуковой сигнал (я не слышу).

Он на Аляске и использует Windows 7; Я в Калифорнии и использую XP. Я не знаю, является ли проблема какой-то комбинацией/несоответствием...

ОБНОВЛЕНО СНОВА

Я знаю, что это может шокировать некоторых, но разъединение Аляски и Калифорнии не имеет к этому никакого отношения. Я теперь тоже слышу гудки, и это не от клавиш со стрелками. Это когда значение вводится в TextBox, а затем, если в этом текстовом поле уже есть символ, фокус перемещается на следующее textBox и туда вводится значение (это мой код, который вызывает это). Но раздражающий звуковой сигнал кажется случайным - я не понял, как он издает звуковой сигнал (иногда это происходит, иногда нет) ... кто-нибудь когда-либо сталкивался с чем-то подобным, или, еще лучше, знает как подавить звуковой сигнал? Все, что я делаю, это нажимаю клавишу «1» или «2» над клавиатурой.

7
задан B. Clay Shannon 21 May 2012 в 23:12
поделиться