Creo ke el error radica en lo marcado en rojo
string strProceso = "explorer.exe
/select, " +
strDirectorio + txtDocumento.Text + ".pdf";
System.Diagnostics.Process.Start(strProceso);
y es porque
si strDirectorio = "C:\\Nueva carpeta"
si txtDocumento = "controlCompras.pdf"
lo toma como C:\\Nueva carpetacontrolCompras.pdf por el hecho de no llevar espacio
si vas a cargar la ruta completa desde tetbox kedaria diferente.
public static Process Start(string fileName,string arguments)
string strProceso = "explorer.exe", txtDocumento.Text+ ".pdf";
System.Diagnostics.Process.Start(strProceso);
Espero te sirva