Partilhar via


Etapa 5: Adicionar um manipulador de Evento de MouseEnter para cada parede.

O Game do Labirinto seria mais divertidos e desafiadores se ele envia o ponteiro do mouse do usuário voltar ao Iniciar sempre que o ponteiro de toque de uma parede. Antes Leitura ainda mais, considere como fazer isso.

Para adicionar um MouseEnter manipulador de Evento para cada parede.

  1. Ir para o Designer de Formulários do Janelas e Clicar qualquer uma das suas paredes recém-Adicionado.

  2. Ir para a janela de Propriedades e Clicar no ícone de Evento para exibir os Evento para esse tipo de parede. Role Abaixo até o evento MouseEnter. Em vez de clicar duplo, Tipo wall_MouseInserir de texto e Pressionar Inserir. O ícone de Evento e a janela de Propriedades aparecem sistema autônomo segue.

    Ícone de evento

    Ícone de evento

    Janela de propriedades mostrando evento MouseEnter

    Janela de propriedades mostrando evento MouseEnter

    ObservaçãoObservação

    Quando você digitar o nome do evento diretamente na tabela na janela de Propriedades de evento, você pode direcionar o IDE para criar um manipulador de eventos com o mesmo nome e conectar-se para o evento do controle. Em geral, você deseja que o IDE para escolher nomes de Evento, porque os nomes são lógicos e o uso de nomes torna mais fácil para que outros possam Leitura e entender o seu código. Quando o IDE escolhe um nome para um manipulador de eventos, ele usa o nome do controle e o nome do evento. Nesse caso, você não Modificar os nomes padrão das paredes, o que são de label4 , de label18 , de label25 , e assim por diante. Portanto, se você clicar em uma chamada de label12 de parede, o IDE seria ter chamado a label12_MouseEnter . Digitação o nome da de wall_MouseEnter de , você está escolhendo um nome mais aplicável. Isso é especialmente importante quando você usa uma manipulador de Evento para Múltiplo controles, que é o que fazer posteriormente neste tutorial.

  3. Depois de pressionar Inserir, o IDE adiciona um Nova manipulador de eventos para você e conecta-se da parede que MouseEnter evento. O código recém-adicionado deve aparecer em seu editor de código sistema autônomo segue. No Visual Basic, o rótulo específico pode não ser Label8, conforme mostrado no código.

    Private Sub wall_MouseEnter() Handles Label8.MouseEnter
    
    End Sub
    
    private void wall_MouseEnter(object sender, EventArgs e)
    {
    
    }
    
  4. Próximo, adicione uma chamada para o seu **MoveToStart()**método, juntamente com um comentário explicando o método. Iniciar, ir para o seu método e adicionando Declaração MoveToStart(). Abre uma janela de IntelliSense e aparecerá a seguinte.

    Janela do IntelliSense

    Janela do IntelliSense

    Quando você adicionou o MoveToStart(), o IDE adicionado o método para o janela de IntelliSense. O comentário XML que você adicionou aparece na dica de ferramenta. Isso é útil quando você gravar programas com vários métodos.

  5. Pressionar Tabulação para direcionar o IntelliSense para completar o nome do método. Se você estiver escrevendo um código do Visual c#, lembre-se de adicionarponto e vírgula (;) no participante da Declaração. Em seguida, adicione um comentário acima Declaração. Seu código deve parecer semelhante ao seguinte. No Visual Basic, o rótulo específico pode não ser Label8, conforme mostrado no código.

    Private Sub wall_MouseEnter() Handles Label8.MouseEnter
        ' When the mouse pointer hits a wall or enters the panel,
        ' call the MoveToStart() method.
        MoveToStart()
    End Sub
    
    private void wall_MouseEnter(object sender, EventArgs e)
    {
        // When the mouse pointer hits a wall or enters the panel,
        // call the MoveToStart() method.
        MoveToStart();
    }
    
  6. salvar e execute o programa. Mova o ponteiro do mouse sobre a parede que você conectou o manipulador de Evento para. (Se não lembrar de qual deles você escolheu, mova o ponteiro do mouse sobre cada parede até encontrar o correto.) sistema autônomo tocá-lo, ele deve enviar o ponteiro do mouse Voltar para o Iniciar.

    Em seguida, você deseja fazer o mesmo para o resto das paredes. Você poderia escrever o mesmo manipulador de Evento MouseEnter para cada uma das paredes. Mas processo seria longo, resultaria em várias linhas do mesmo código em seu programa e poderia ser difícil Modificar. O IDE oferece uma maneira fácil de conectar-se a mesma manipulador de Evento a todas as paredes.

  7. Ir para o Designer de Formulários do Janelas e do menu Editar , Clicar de Todas .

  8. Isenção a CTRL Abaixo a CTRL de chave e, em seguida, Clicar Concluir rótulo para limpar a seleção. Isso deve manter todas as paredes e o painel selecionado.

  9. Agora Ir para tabela de eventos na janela de Propriedades. Role Abaixo até o evento MouseEnter e Clicar na caixa de Editar Próximo a ele. Você deve ver uma seta suspensa. Se clicar na seta, verá uma lista de Todas manipuladores de eventos em seu programa de que você pode escolher para este evento. Nesse caso, você deverá ver o finishLabel_MouseEnter manipulador de Evento que você adicionou anteriormente e a wall_MouseEnter um que apenas que você escreveu, conforme mostrado na figura a seguir.

    Evento MouseEnter com manipuladores de eventos

    Evento MouseEnter com manipuladores de eventos

  10. Selecione de wall_MouseEnter . (Se você Selecione errado manipulador de Evento ou acidentalmente, adicione um Nova, você pode Selecione todas as paredes e o painel novamente e, em seguida, escolher o método correto.)

  11. Agora seu Game do Labirinto deve ser o mais interessante. Tente salvá-lo e executá-lo. Se o ponteiro do mouse acessa uma parede ou se você Mover o ponteiro do Labirinto e Voltar em, o programa deve reposicionar automaticamente o ponteiro no Iniciando em ponto do Labirinto.

Para continuar ou revisar