Hello all.

I have been programming for a while, all self taught. I usually learn via examples, so any sample code you may have will help tremendously.

I have an application that I am developing in C# (using .NET 2.0 and Visual Studio 2005 Pro, I have the free Express C# installed as well) and it is getting to the complexity level where GDI cannot keep up. It is 2D but lots of transparency. Because C# didn't support true transparency, it just drew the background alpha blended to the image, not the blend of all images below, I took things into my own hands and made it work. Thing is now it takes between 15ms and 400ms depending on how much stuff there is to refresh the image. It is double buffered as well by my own doing.

I think I need to move up to a better graphical interface, and I have never messed with anything like this. I do not know if I should use XNA, DirectX, or OpenGL. I am not attached to any of them.

From what I have read, DirectX is dead, and being replaced by XNA? I am not sure if "managed DirectX 10" is different somehow.

I dont need any 3D capabilities, so my choices are rather open I suppose. I want the application to support XP and Vista. So I think that rules out DirectX 10 correct? Is DirectX 9 still a viable option?

Also when I do "using Microsoft" then the "." and the predictive popup displays with the options, I do not have "DirectX', "XNA" or any of the others I have seen moentioned in places scattered around the internet. I am guessing I need to download a library and place it in the appropriate folder (what, where, and where to???).


So anyone have suggestions on a good start for 2D Graphics that are faster? Also how does this work as a whole? I have controls such as buttons in my C# form, I want this image to display in the back, so will this "voodoo magic directX/XNA/OpenGL" function kick back a bitmap/image that I can set as the background or something, or is this a whole takeover of the application where my regular controls will not draw themselves or work?

Thanks in advance for the answers.