title: Simplest and best way to display a list of items on Windows Form application using C#
body: <p>At my school I was handed a project for my C# course. It's a fairly simple project but I don't know how to go about doing it or even start doing it. So I'll just get to it then.</p>
  
  <blockquote>
    <p>I am supposedly a developer hired by a book company that needs a developer to code an application for them to work on one machine in the work place. </p>
    
    <p>Users should be able to do the following with the application:</p>
    
    <ul>
    <li>View a list of books, as well as a list of Audio publications</li>
    <li>Create new records for books and audio</li>
    </ul>
    
    <p>The application should adhere to the following specifications:</p>
    
    <ul>
    <li>It must be windows form</li>
    <li>It must be user friendly and easy to navigate</li>
    <li>Data should be saved to a file when application closes and be read back into it when it opens</li>
    <li>It must perform appropriate input validation</li>
    <li>It must be well designed and support future changes and the business is growing</li>
    </ul>
    
    <p>The following data needs to be stored about the publications:</p>
    
    <p>Book:</p>
    
    <ul>
    <li>Publish date</li>
    <li>Title</li>
    <li>Author</li>
    <li>ISBN number</li>
    <li>Type of book (enum)</li>
    <li>Type of over (enum)</li>
    </ul>
    
    <p>Audio:</p>
    
    <ul>
    <li>Publish date</li>
    <li>Title</li>
    <li>Artist</li>
    <li>Number of tracks</li>
    <li>total length</li>
    <li>Type of audio (enum)</li>
    </ul>
  </blockquote>
  
  <p>I need to make use of object-orientated programming concepts such as classes, properties, methodes, inheritance and polymorphism.</p>
  
  <p>Basically what I need to know is how should I display the information on the form and what is the best way to create new records of that info and what format to save it in. </p>
  
  <p>We haven't learnt anything about grids, so I doubt it's that. We have only learnt how to read/write from text files. Also I suspect that I need to create a class for all the publications and create two child classes for the Book and Audio in order to handle the data that is different between them.</p>