Option Explicit On
Option Strict On

Imports System.ComponentModel

Public Class Form1

    Private ComboBox1 As New ComboBox
    Private ContextMenu1 As New ContextMenuStrip
    Private ContextMenuBinder As ContextMenuItemsBinder

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.Controls.Add(Me.ComboBox1)
        Me.ComboBox1.Items.AddRange({"€–ÚA", "€–ÚB", "€–ÚC"})
        Dim Menu(Me.ComboBox1.Items.Count - 1) As ToolStripMenuItem
        For i As Integer = 0 To Me.ComboBox1.Items.Count - 1
            Menu(i) = New ToolStripMenuItem(Me.ComboBox1.Items.Item(i).ToString, Nothing, AddressOf Menu_Click)
            Menu(i).Tag = i
        Next
        Me.ContextMenu1.Items.AddRange(Menu)
        Me.ContextMenuStrip = Me.ContextMenu1
        Me.ContextMenuBinder = New ContextMenuItemsBinder(Me.ContextMenu1.Items)
        Me.ComboBox1.DataBindings.Add(NameOf(Me.ComboBox1.SelectedIndex), Me.ContextMenuBinder, NameOf(Me.ContextMenuBinder.SelectedIndex), Nothing, DataSourceUpdateMode.OnPropertyChanged)
        Me.ComboBox1.SelectedIndex = 1
    End Sub

    Private Sub Menu_Click(sender As Object, e As EventArgs)
        Me.ContextMenuBinder.SelectedIndex = CInt(DirectCast(sender, ToolStripMenuItem).Tag)
    End Sub

End Class

Public Class ContextMenuItemsBinder
    Implements INotifyPropertyChanged

    Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged

    Property Items As ToolStripItemCollection

    Private _SelectedIndex As Integer
    Property SelectedIndex As Integer
        Get
            Return Me._SelectedIndex
        End Get
        Set(value As Integer)
            Me._SelectedIndex = value
            For Each Item As ToolStripMenuItem In Me.Items
                Item.Checked = Item.Equals(Me.Items.Item(value))
            Next
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(NameOf(SelectedIndex)))
        End Set
    End Property

    Public Sub New(Items As ToolStripItemCollection)
        Me._Items = Items
    End Sub

End Class