Voy a realizar un ejemplo sencillo de como crear un UserControl, ya que este mismo control lo usaremos para posteriores ejercicios cuando sea necesario.
¿Qué es un UserControl?
Un UserControl no es más que una clase común y que tiene como extensión .cs; que también provee las referencias para poder trabajar con las clases dentro del espacio de nombres System.Windows.Forms, a diferencia de los Class Library.
¿Para que sirve y porqué usar UserControl?
El UserControl proporciona la capacidad de crear controles que se pueden usar en varios lugares de una aplicación.
Para nuestro ejemplo, vamos a crear una aplicación en Visual Studio.NET 2005; para ello seleccionaremos Visual C#; el nombre de nuestro proyecto(Project) será WindowsApplication y la solución (solution) llevará el nombre de UserControl.

Despues que ingresar los datos respectivamente, presionamos el botón OK; y acontinuación nuestra ventana de explorador de soluciones (Solution Explorer), quedaría de la siguiente forma:

Para organizar nuestros archivos vamos a crear una carpeta con el nombre de UGC, y sobre esta carpeta daremos un clic derecho donde se visualizará una ventana emergente donde seleccionaremos la opción Add/User Control... y se visualiza la ventana Add New Item

Para darle nombre a nuestro UserControl, daremos clic en la caja Name y le daremos el nombre de customDataGridView y después presionamos el botón Add; y se visualizará nuestro Explorador de Soluciones (Solution Explorer) de la siguiente manera:

A continuación para crear un UserControl de WinForm, diseñaremos nuestro control y para ello usaremos 4 controles: DataGridView, Panel, Label y TextBox.

Control "DataGridView"
- Name : dataGridView1
- BackgroundColor : Control
- Dock : Fill
Control "Panel"
- Name : panel1
- Dock : Bottom
Control "Label"
- Name : label1
- Anchor : Bottom | Right
- Text : "Nro. de Registros:"
Control "TextBox"
- Name : txtNroReg
- Anchor : Bottom | Right
- BackColor : AliceBlue
- BorderStyle : FixedSingle
- TextAlign : Center