No puedo bajar el código, puede que el link esté roto.
De todas formas, por lo que comentas, creo que tu problema tiene fácil solución.
Creo que tú actualmente envías el byte en el evento "Click" del botón que sea. Ese evento se ejecuta después de haber presionado y levantado el ratón sobre el botón.
Lo que tú necesitas podrías hacerlo por ejemplo así:
- en el evento "MouseDown" (que se ejecuta al presionar sobre el botón, aunque no levantes el ratón) cambias el valor de una variable global y haces un bucle que envíe un byte, cuya condición de salida dependa de un nuevo cambio en dicha variable global. Por ejemplo:
Codigo:
BotonPulsado=1
while (BotonPulsado) -> envioByte
- en el evento "MouseUp" que se ejecuta al levantar el botón del ratón, vuelves a cambiar el valor de esa variable global, para salir del bucle que se está ejecutando indefinidamente. Por ejemplo: BotonPulsado=0
(disculpa por no usar la sintaxis de Visual Basic pero hace mucho que no lo uso y tengo ahora mismo mentalidad de "C"

)