I have no idea why this works, but it did........with one modification. The width of the textbox was being picked up based on the width in the base class, not the width in the instance of the container. I put your Visible off/on trick at the beginning of the method as well and it seems to be working. We'll see how well it works in the middle of the application.
One other benefit of the SetCaption method is that I no longer need the Caption_Assign method so I didn't have to subclass the base textbox class.
Thanks to all for your contributions.
>>A good thought.......Unfortunately, neither DOEVENTS nor INKEY() change the behavior. Setting the caption on the label does not seem to reset the width.
>>
>
>Try
>
>this.label.caption = 'MyNewValue'
>this.label.visible = .f.
>this.label.visible = .t.