I have this lovely menubar that works great except for two components that
need to allow the user to check and uncheck if necessary. If the check
mark is visible (checked) then it should run a procedure. If the checkmark
is not visible (or checked) then it should not run the procedure.

Additionally, the default setting will be checked so both procedures run when
the application is installed and run. So therefore if the user "unchecks" the
checkmark an advisory needs to pop up and say, "You've chosen to not
view...." and else if they turn it back on, "You've chosen to play the ...."

I only have two procedures where this needs to occur and right now, my
code cannot seem to figure out what to do with the checkmark. I have it
checked and it runs the code for the unchecked state.

Additionally, the application doesn't remember the changed setting the next
time I run the application. I cannot use a global settings saved method
because I need to save the state of other controls independantly of this
control.

I apologize for posting this when there are numerous posts on this subject.
Despite reading site after site on this subject, I cannot figure what I've done
wrong or what I am missing in my code. Any help would be appreciated. I've
been to all the sites offered on this site and already reviewed MSDN and my
VB books. I'm at my wit's end.

Here is my sample code.

VB Code:
  1. 'The default setting is checked.
  2.  Private Sub MissionBriefingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
  3. Handles MissionBriefingToolStripMenuItem.Click
  4.         Dim mymenu As New ToolStripMenuItem
  5.         Try
  6.             If mymenu.CheckState = CheckState.Checked = True Then
  7.                 MsgBox("You have turned ON the Mission Briefing. _
  8.               If you wish to turn it off, _
  9.                remove the check from the 'View Mission Briefing' box.", _
  10.  
  11.                    MsgBoxStyle.Information, "Mission Briefing")
  12.             Else
  13.                 'mymenu.CheckState = CheckState.Checked = false Then
  14.                 MsgBox("You have turned OFF the Mission Briefing. _
  15.                 To turn it back on, place a check mark in the 'View Mission _
  16. Briefing' box.", MsgBoxStyle.Information, "Mission Briefing")
  17.             End If
  18.         Catch ex As Exception
  19.             If Err.Number <> 0 Then
  20.                 errLogger(Err.Number, Err.Description, Err.Source)
  21.             End If
  22.             Exit Sub
  23.         Finally
  24.         End Try
  25.     End Sub
  26.  
  27.  
  28.  Private Sub MissionBriefingToolStripMenuItem_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles _
  29.       MissionBriefingToolStripMenuItem.CheckStateChanged
  30.         Dim mymenu As New ToolStripMenuItem
  31.         Try
  32.             If mymenu.CheckState = CheckState.Checked Then
  33.                 MsgBox("You have turned ON the Mission Briefing. _
  34.               If you wish to turn it off, remove the check from the _
  35.            'View Mission Briefing' box.", MsgBoxStyle.Information, "Mission Briefing")
  36.             ElseIf mymenu.CheckState = CheckState.Unchecked Then
  37.                 MsgBox("You have turned OFF the Mission Briefing. _
  38.                 To turn it back on, place a check mark in the 'View Mission _
  39.                  Briefing' box.", MsgBoxStyle.Information, "Mission Briefing")
  40.             End If
  41.         Catch ex As Exception
  42.             If Err.Number <> 0 Then
  43.                 errLogger(Err.Number, Err.Description, Err.Source)
  44.             End If
  45.             Exit Sub
  46.         Finally
  47.         End Try
  48.     End Sub
  49.  
  50. Private Sub PlayMissionBriefing()
  51.         Dim MissionBriefingToolStripMenuItem As New ToolStripMenuItem
  52.  
  53.         Try
  54.             If MissionBriefingToolStripMenuItem.CheckState = CheckState.Checked Then
  55.                 LaunchtheMission("mission_briefing", "mission_briefing.exe", "XXXXXXX")
  56.    End If
  57.  
  58.         Catch ex As Exception
  59.             If Err.Number <> 0 Then
  60.                 errLogger(Err.Number, Err.Description, Err.Source)
  61.             End If
  62.             Exit Sub
  63.         Finally
  64.  
  65.         End Try
  66.     End Sub