tu error esta aquí:
En programación nulo no es igual a "", nulo es nulo; por eso obviamente nunca aparece el msgbox
respecto a tu pregunta inicial, de que sirve validar si es nulo, sólo le vas a ver utilidad, agregando al listbox un valor NULO y quitarle el if a tu función..
o intenta hacer esto
Me.TextBox1.BackColor = System.Drawing.Color.FromName("")
gracias , eso he andado buscando como (para fines didacticos) como se podia representar un valor nulo en la lista para llegar al else que puse , pero voy a probar la forma que me recomiendas a ver como funciona.
Otra cosa , como estoy cambiando y probando cosas , agregue una linea para que ademas del color muestre el nombre del color
Dim ColorName As String = CStr(ListBox1.SelectedItem)
If ColorName IsNot Nothing Then
Me.TextBox1.BackColor = System.Drawing.Color.FromName(ColorName)
Me.TextBox1.Text = CStr(ColorName)
pero estoy viendo y buscando información de como puedo hacer para darle un tipo de fuente , color y tamaño personalizado al texto (nombre del color) que salga en el textbox, alguien me puede sugerir una idea, probe con el system.drawing.font pero no logro hacer que me tire algo