The Windows Forms libary is quite terrible for such things. Because none of the display data are buffered, every repaint (if slow enough) is visible and flashy. Transparent images in general do not work as you want them to do. I don't exactly know what you are trying to accomplish eventually, but if you're just playing around with graphics, I would suggest you use something like the Win2D API. The Win2D API is quite similar to the onPaint event in terms of usage.
I mean, in theory you can use Regions to make things transparent, but they can't make things like 50 % transparent but only completely. I tried doing fancy graphics with Windows Forms a few years back, and I can really not advise to do so.