COMO FAZER FUNCIONAR CONTROL MAIS INSERT

PERCIFILHO 10/04/2013 12:40:19
#421739
Olá amigos, preciso fazer uma combinação de teclas funcionar.
Preciso que ao teclar Control + Insert abra o cadastro do clientes.
Estou fazendo as minhas condições:



       Private Sub CadastroCargas_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.F10 Then
BtnExcluir_Click(sender, e)
ElseIf e.KeyCode = Keys.F12 Then
BtnConsultar_Click(sender, e)
ElseIf e.KeyCode = Keys.Insert Then
Then InserirEntrega()
ElseIf e.KeyCode = Keys.Control AndAlso e.KeyCode = Keys.Insert Then
[ô][ô][ô][ô] aqui, não funciona!!!!
End If
End Sub


Alguém me ajuda?

Até mais.
OCELOT 10/04/2013 13:06:57
#421740
Resposta escolhida
Para pegar o Ctrl como um modificador de tecla você não pega ele no KeyCode, afinal o KeyCode só pode ter um valor, ele nunca vai ser Ctrl e Insert ao mesmo tempo, então você deve verificar o KeyCode apenas pelo Insert e também verificar a propriedade Control do KeyEventArgs para saber se o Ctrl está precionado

Basicamente, em vez disso
ElseIf e.KeyCode = Keys.Control AndAlso e.KeyCode = Keys.Insert Then


Use isso
ElseIf e.Control AndAlso e.KeyCode = Keys.Insert Then
PERCIFILHO 10/04/2013 13:35:12
#421743
Valeu Ocelot.

Fiz conforme você mencionou, mesmo assim não funcionava.
Consegui contornar, modificando a ordem dos Elseif....
Agora ficou assim:

       ElseIf e.KeyCode = Keys.F10 Then
If BtnExcluir.Enabled = True Then BtnExcluir_Click(sender, e)
ElseIf e.KeyCode = Keys.F12 Then
If BtnConsultar.Enabled = True Then BtnConsultar_Click(sender, e)
ElseIf e.Control AndAlso e.KeyCode = Keys.Insert Then
If MskData.BackColor <> Color.Gainsboro Then CadastroClientes.ShowDialog()
ElseIf e.KeyCode = Keys.Insert Then
If MskData.BackColor <> Color.Gainsboro Then InserirEntrega()
End If


Assim funciona.

Até mais.
Tópico encerrado , respostas não são mais permitidas