>>Thisform.Grid.Columns(X).Width = 0
>
>I know I can use this,
>But the layout of the grid isn't so nice anymore (A big vertical line appears in the grid)
You can make the column 0 width or you can remove it from the grid, those are two choices. Your message indicated that you did not want to remove it from the grid.
The only other option I can think of takes a lot of code that would reuqire using a special grid class. Basically move the undesired columns to the right most positions and then control navigation such that they are never shown and the user cannot get into them.