No creo que haya problema con c# en tanto logres controlar el puerto paralelo...
 
Como te decia, .net trae la referencia: 
Imports System.IO.Ports ' para manejo de puertos SERIAL  
(no necesitas agregrar un control). 
Para uno de mis sistemas que requierne comuniacion x puerto ethernet use el Winsock (bajo la carpeta "components" 
Estas DLLS funcionan dentro del .net asi que se integran bien con VB o C# 
Yo prefiero siempre codificar con VB que con C#, pero ya es cuestion de gustos creo yo.. cosas que de plano no hay mas que con C# lo hago asi. 
No podria recomendarte especificamente un tutorial de .net... prueba a buscar en 
www.lawebdelprogramador.com seccion "cursos" alli he leido mas de una vez en busca de tutoriales. 
Si conoces Java, .net debiera no ser tan complicado en entender.. quiza unicamente x la sintaxis y el manejo de funciones, pero nada que google no pueda aclararte.