np dude, i didnt try fixing the main function. I'll see if i can help you further so you can get the first part working the way you want.
I cant really tell whats wrong just by looking at it, im not a vb coder. So i'll create the code on my end to see what the problem is.
Looks like flicker. Not really sure how to fix that but i have another option.
Instead of drawing your image on screen, draw it on another form.
Create another form in your project. I called mine Picures
Set the FormBorderStyle to None
Something like this can be used to change the settings
ByVal _Form As Form = Second Form
Public Sub CreateImage(ByVal _Form As Form, ByVal _Size As Size, ByVal _Location As Point, ByVal _Image As Image)
If Not _Form.Visible Then
_Form.Location = _Location
_Form.Size = _Size
_Form.BackgroundImage = _Image
_Form.BackgroundImageLayout = ImageLayout.Stretch
ByVal _Size As Size = size you would like the image
ByVal _Location As Point = location on screen
ByVal _Image As Image = Image you want
On the same RadioButton Checked Changed
I only have the size 150x150 and some random location. But everytime i change radio button, the image changes without flicker.
Private Sub _CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged, RadioButton2.CheckedChanged, RadioButton3.CheckedChanged
Dim _Size As Size = Screen.PrimaryScreen.Bounds.Size
Dim _Image As Image = If(RadioButton1.Checked, My.Resources.cross1, If(RadioButton2.Checked, My.Resources.cross2, My.Resources.cross3))
CreateImage(Pictures, New Size(150, 150), New Point(_Size.Width / 2, _Size.Height / 2), _Image)
Maybe have a mess around with it, might help ya.