Somehow, we tried many times, but it does not work. Do we need to get the printer handler (or context of the printer) before we can output to it? If so, can what are the functions to do so?
All printing in Windows goes through the same route and print data is passed to the printer drivers to be rendered onto the physical device. It does not matter whether the printer is parallel, USB, network, WiFi or Bluetooth, they all work in the same way. If you have problems with a specific device then you need to diagnose why it is not working.
1. Yes you need to move the array declaration out of the constructor. As it is now, the array is a local variable to the constructor and not accessible outside of the constructor. Read up on variable scope.
2. Use the string class ToUpper() method to make the string all uppercase.
You'll get in even more difficulty. You need to spend some time learning the difference between managed and unmanaged code in C++. I am not sure what you are trying to achieve here, but suffice it to say that what you are attempting is not straightforward. C++ was never designed to work in .NET and unless you have a compelling reason to mix the two languages you should not bother. Stick to either unmanaged C++ or C#, and make life easier for yourself.