Quantcast
Channel: VBForums - Visual Basic .NET
Viewing all articles
Browse latest Browse all 27554

VS 2010 vb forms with keydown on keyboard problem.

$
0
0
hi to all vb forums member!

im a newbee in vb.net 2010 programming, and i just want to ask some help from you guys,
i had this project sending serial commands via comport when pressing a keyboard key, i viewed many tutorial
already about keyboard events but and i understand it, but when i'm adding it to my code i press the keyboard letter " k"
the forms didn't give me output which is Msgbox ("hello k "). is there anything that i forgot to consider? please help. advance thanks!

my code is below:
Imports System
Imports System.ComponentModel
Imports System.Threading
Imports System.IO.Ports

Public Class Form_main
'Added to prevent threading errors during receiveing of data
Delegate Sub SetTextCallback(ByVal [text] As String)


Private Sub Form_main_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.K Then
MsgBox("hello k")
End If

End Sub

Private Sub Form_main_load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'COM Ports detected on the system will be stored here
Dim myPort As Array

' below code disable the autopilot,direction controller and elevation controller without the connecting to serial first...
PnlELEVATION.Enabled = False
PnlDIRECTION.Enabled = False
GbAUTOPILOT.Enabled = False

'FOR SERIAL COMMUNICATION CODES...............................................................
'When our form loads, auto detect all serial ports
'in the system and populate the cmbPort Combo box.
'------------------------------------------------------

'Get all com ports available
myPort = IO.Ports.SerialPort.GetPortNames()

'Populate the cmbBaud Combo box to common baud rates used
cmbbaud.Items.Add(9600)
cmbbaud.Items.Add(19200)
cmbbaud.Items.Add(38400)
cmbbaud.Items.Add(57600)
cmbbaud.Items.Add(115200)

For i = 0 To UBound(myPort)
cmbport.Items.Add(myPort(i))
Next
'Set cmbPort text to the first COM port detected
cmbport.Text = cmbport.Items.Item(0)
'Set cmbBaud text to the first Baud rate on the list
cmbbaud.Text = cmbbaud.Items.Item(0)
'Initially Disconnect Button is Disabled
Btndisconnect.Enabled = False

End Sub

Private Sub Btnconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnconnect.Click

'Set SerialPort1 to the selected COM port at startup
SerialPort1.PortName = cmbport.Text
'Set Baud rate to the selected value on
SerialPort1.BaudRate = cmbbaud.Text

'Other Serial Port Property
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.DataBits = 8

'Open our serial port
SerialPort1.Open()

'Disable Connect button
Btnconnect.Enabled = False
'and Enable Disconnect button
Btndisconnect.Enabled = True
'Purpose of this is to secure the serial connection first before controlling the quadcopter.
PnlELEVATION.Enabled = True
PnlDIRECTION.Enabled = True
GbAUTOPILOT.Enabled = True
End Sub

Private Sub Btndisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btndisconnect.Click

'Close our Serial Port
SerialPort1.Close()
'enable connect button
Btnconnect.Enabled = True
'disable disconnect
Btndisconnect.Enabled = False
PnlELEVATION.Enabled = False
PnlDIRECTION.Enabled = False
GbAUTOPILOT.Enabled = False
End Sub

Private Sub cmbport_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

If SerialPort1.IsOpen = False Then
SerialPort1.PortName = cmbport.Text 'pop a message box to user if he is changing ports
Else 'without disconnecting first.
MsgBox("Disconnect first before changing the COM port!!", vbCritical)
End If

End Sub

Private Sub cmbbaud_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbbaud.SelectedIndexChanged
If SerialPort1.IsOpen = False Then
SerialPort1.PortName = cmbport.Text 'pop a message box to user if he is changing ports
Else 'without disconnecting first.
MsgBox("Disconnect first before changing the Baudrate!!", vbCritical)
End If

End Sub
'written down are the codes for serial data out for ELEVATION CONTROL...................

Private Sub BtnElevUP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnElevUP.Click

SerialPort1.Write("A")
BtnElevUP.BackColor = Color.DarkSlateGray


End Sub

Private Sub BtnElevDOWN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnElevDOWN.Click

SerialPort1.Write("B")
BtnElevDOWN.BackColor = Color.DarkSlateGray

End Sub


Private Sub BtnElevLEFT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnElevLEFT.Click

SerialPort1.Write("C")
BtnElevLEFT.BackColor = Color.DarkSlateGray

End Sub

Private Sub BtnElevRIGHT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnElevRIGHT.Click

SerialPort1.Write("D")
BtnElevRIGHT.BackColor = Color.DarkSlateGray

End Sub
' Written down are the serial data out for DIRECTION CONTROL.........................

Private Sub BtnFORWARD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFORWARD.Click

SerialPort1.Write("E")
BtnFORWARD.BackColor = Color.DarkSlateGray

End Sub


Private Sub BtnBACKWARD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBACKWARD.Click

SerialPort1.Write("F")
BtnBACKWARD.BackColor = Color.DarkSlateGray

End Sub

Private Sub BtnROLLLEFT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnROLLLEFT.Click

SerialPort1.Write("G")
BtnROLLLEFT.BackColor = Color.DarkSlateGray

End Sub

Private Sub BtnROLLRIGHT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnROLLRIGHT.Click

SerialPort1.Write("H")
BtnROLLRIGHT.BackColor = Color.DarkSlateGray

End Sub
End Class

Viewing all articles
Browse latest Browse all 27554

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>