I had a similar problem, but I don't remember exactly how I solved it. You should be able to find a clue in this article and the accompanying code (it's in VB, but that's a minor detail that shouldn't change anything):
Dirty Button[
^]
It works for me at least both when the control is placed directly on the form and in a groupbox/tab control
I could be wrong, but I think actually that
this.FindForm()
SHOULD return the correct form object.
[EDIT] I just checked my code, and I did indeed use
this.FindForm()
to get the correct result. Don't understand why iut doesn't work for you?!?!? [/EDIT]