Errata:
Ya que en este manual no podía hace tiempo como recibir datos, lopublico aquí.
Lo que ocupaba para no generar una función estática era declarar mi delegado de manera diferente (agregando unos argumentos que me faltaban). El código quedaría así:
delegate void delegado(String ^s); void recibido(String ^d); //Observar que la función ya no es estática
private: System::Void serialPort1_DataReceived(System::Object^ sender, System::IO::Ports::SerialDataReceivedEventArgs^ e) { String ^s; s=serialPort1->ReadExisting(); delegado^ escritor = gcnew delegado(this,&PruebaTrySerial::Form1::recibido); this->Invoke(escritor,s); }
Con esto me funcionó perfectamente.
Un cordial saludo.