Hi Eddy, thanks for your efforts. I add the second label but no label takes the right content in the form; in the debug the Text properties contain my string and the "Hello world" string. I also call the Refresh method of labels and form but nothing changes. Before I did another project where I used the SerialPort object of .NET, everything was in the form1 and I used the DataReceived event of the COM to write in the textbox the received data, always using the Invoke method, and everything was OK. In this project I don't use the SerialPort object but the API in coredll.dll (CreateFileW, ReadFile, SetCommMask, etc.) because I need to catch different information from the COM port and all this is in a separate class/file. This is the main difference between the two projecs, in addition to the fact that one works and the other not... Sorry but I really don't know what is THE fundamental information I'm missing to solve this problem, if you have any questions, please feel free to ask.