Will,
Assuming you have a event for $button.onclick="AnotherEventclick"
(Or $Form.controls("my_button_name").onclick... as it's the same)in your function AnotherEventclick
at the end (or the most suitable place), only add this :
$button.visible=0
this will hide the button. This property is available for all forms/controls
All properties available can be changed anytime (unless one or two, but they are specified as Read, and not Read Write), as opposite of VB.
Also, a little thing about having multiples object on the same area : it's possible, but you have to hide the previous object before creating the new one, otherwise it won't appear at the wanted place
example :
$button=$form.addbutton("name","caption",10,15,60,30)
you want to have a label at the same X/Y position (coordonates ? don't know the word)
you must before hide the button with the visible property set to 0, even if the form/window is not visible. So :
$button.visible=0
$button=$form.addlabel("label name","caption",10,15,60,30)
after this one, you can only have one of the 2 objects visible at any time. So each time you want to change, you have to hide the previous one before. I'll make a sample of this one.
Something else : did you try to use an image object instead of a label ? As only 2 images are needed for the Tictactoe, it would be easy to do 
A last thing : by a second computer

[ 18 January 2002: Message edited by: Alex.H ]