title: Improve UI responsiveness on windows form application
body: <p>I am currently working on a project and decided to create a user interface for it using visual studio with a windows forms application(Visual Basic).</p>
  
  <p>The problem I'm facing is that the user interface doesn't respond as quickly and smoothly as I'd like it to.
  Mainly, I am using pictures as buttons to make the user form look more modern.
  However, when I hover my mouse over a "button" it takes a while until the "highlighted button" appears.</p>
  
  <p>P1 is the picture of the "normal button" and P2 is the picture of the "highlighted button".</p>
  
  <p>Here is the short code I have for now: </p>
  
  <pre><code>Public Class Main
  
  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  
  
  End Sub
  
  Private Sub PictureBox1_MouseHover(sender As Object, e As EventArgs) Handles P1.MouseHover
      P1.Visible = False
      P2.Visible = True
  End Sub
  
  Private Sub P2_MouseClick(sender As Object, e As MouseEventArgs) Handles P2.MouseClick
      'Call cmdInit()
      'Call cmdConnectRobot()
      'Call cmdUnlock()
  End Sub
  
  Private Sub Main_MouseHover(sender As Object, e As EventArgs) Handles Me.MouseHover
      If P2.Visible = True Then
          P2.Visible = False
          P1.Visible = True
      End If
  End Sub
  
  Private Sub P4_Click(sender As Object, e As EventArgs) Handles P4.Click
  
  End Sub
  End Class
  </code></pre>
  
  <p>Another problem I'm facing is that when I call other subs, the user form becomes unresponsive while the sub is running.
  I researched and found that I could implement multi threading or async tasks but I'm a bit lost and would be extremely grateful if someone could guide me or point me in the right direction.</p>
  
  <p>Thanks in advance!!</p>