Ну, если тебе
настолько нечем заняться, то вот вариант - не хуже других, во всяком случае:
Делаешь PictureBox, который будет невидим на форме большую часть времени. В него загоняешь картинку (или рендеришь на лету - в случае столбцов переменной ширины
), изображающую нажатый заголовок столбца. Поверх него кидаешь Label, в который вставляется текст, идентичный тому, что записан в заголовке столбца, тем же шрифтом и т.д. Когда юзер делает на грид MouseDown(), позиционируешь свою невидимую кучу-малу в нужное место, проделываешь все предварительные манипуляции с ней и потом отображаешь так, чтобы она полностью закрывала собой оригинальный заголовок. А дабы ничего не мигало и мгновенно не исчезало, поставь таймер - скажем, на 250 мсек - который будет прятать все это хозяйство обратно.
Это, конечно, не более чем набросок в общем виде, реальный код будет гораздо сложнее, однако, как известно, бешеному кобелю 100 верст не крюк
. Дерзай!