All I can say, is there are a lot of things missing from VB .NET that you'll have to work around. Obvious things, I'm absolutely convinced if you bought a car based on VB.NET it would come with a steering wheel, gas peddle, and no brakes, why they didn't put brakes in it who knows! You either must disassemble it and fix the situation, or decide it's less work to just get the pieces and assemble it yourself. Here's an example of that situation. VB.NET has a thing called the commandbuilder. It automatically handles inserts, updates, deletes. Wow, that's great except when you insert you can't get anything back, something obvious as getting the order# on the order you just created? That functionality wasn't included with the commandbuilder, it's not obscure there's nothing you can do to overcome that hurdle. Instead, you better do the Inserts, Updates, etc all manually because they left out that obvious thing.

I'm convinced if you bought a computer that was based on VB .NET you'd get it and not be able to find the power on button. Should be obvious, you spend a day and can't find it. So, you do some research and someone asks did you flip the mouse upside down and push in the mouse ball? That's the computer's on switch. Oh, that was supposed to be obvious? The datagrid Column width is one such beast. Think it's as obvious as Datagrid1.Column(5).Width = 90? Oh heck no. You have to create a table style, add the style to the datagrid collection, then from there you can modify the width of the table style's column, and that in turn modifies the datagrids column width. Okay, that's supposed to be easier I guess then one line of code.

So, just be prepared with VB .NET because so much of the simple things are missing... here's one. Try to change the color of a cell of a datagrid who's value is greater than 1,000. Oh, that function wasn't included. It's actually a tutorial that's 5 pages long, requires multiple classes, inherits, and delegates, and pretty much YOU have to rewrite the entire process of drawing the datagrid. Oh, that's easy. Want to autosize a column in a datagrid? That functionality is not accessible through code, you have to get the pixels in a font, make a picture box, go through the column seeing if the pixels of the characters are wider than the column, if so set the picture box's width do it. When you're done, make a style, add it to the datagrid collection, and change the width of the column to be the same as the picture box. Easy? It's insanely complicated. Oh, but after the grid is populated, your program is running, the user can just double click between the columns to autosize them. So, the Datagrid has the feature in there somewhere but not anywhere you can access it through code. That's top secret stuff.

Be prepared my friend, be prepared the simple, obvious things will be your biggest gripes.