Please see my comment to the question. As soon as you did not specify what kind of application your application should be, it's not possible to give you a definitive answer.
But the general idea is this: as soon as you speak of nested lists, this should be more general structure, a "checkbox tree". You can always have or create a control implementing a view of such structure. For example, if you use
System.Windows.Forms
, you can use the class
System.Windows.Forms.TreeView
which can have check boxes next to the tree nodes:
http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.aspx[
^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.checkboxes.aspx[
^].
—SA