ユーザーがハノイの塔のパズルを解けるようにする簡単なアプリケーションを開発しています。インターフェイスのいくつかのボタンを条件付きで無効にできるようにする必要があります。(つまり、特定の動きがルールに反する場合、その動きのボタンを無効にする必要があります)。
これどうやってするの?
移動イベントでボタンを無効にすることができ、移動がルールに反する場合は設定しますbutton.Enabled = false
または、移動がルールに違反している場合は、ボタン クリック イベントのボタン アクションを単純に無視できます。
パズルを動かすイベントが既にある場合があります。それらのイベントで、ルールを検証できます。
たとえば、ルールに基づいてボタンを有効または無効にするイベント呼び出しメソッドで
private void CheckState()
{
if(!CheckRuleOne())
{
button1.Enabled = false;
}
// more rules and validations ....
}