Windows Forms: несколько кнопок по умолчанию? - PullRequest
1 голос
/ 19 июня 2009

В простой игре Guess-The-Number, которую я делаю, пользователь вводит пару цифр и нажимает кнопку. Вторая панель становится активной, а оригинальная отключена. Теперь пользователь вводит число и нажимает другую кнопку несколько раз. Поскольку две панели никогда не будут включены одновременно, я бы хотел, чтобы обе кнопки были «по умолчанию», то есть они будут нажиматься при нажатии Enter. Это возможно? Очевидно, я могу установить только один из них для каждого окна.

Ответы [ 3 ]

1 голос
/ 19 июня 2009

Окно в Windows по определению имеет только одну кнопку по умолчанию. Эта функция предназначена для диалоговых окон, в которых вы никогда не отключите кнопку по умолчанию.

Вместо этого вы можете переключать кнопку по умолчанию при отключении одной панели.

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

1 голос
/ 19 июня 2009

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

1 голос
/ 19 июня 2009

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

...