CLOSE ALL RELEASE ALL CLEAR ALL DELETE FILE ROTextbox.SC? RECYCLE * Make a form CREATE FORM ROTextbox NOWAIT LOCAL laObject[1], lo ASELOBJ(laObject,1) lo = laObject[1] * Add a grid with 1 column lo.ADDOBJECT('grid1','grid') lo.Grid1.COLUMNCOUNT = 1 * Make a simple cursor so the grid has something * to bind to. Note, though, that this isn't * necessary to trigger the issue. lo.WRITEMETHOD("Load",; "CREATE CURSOR temp (l1 l)" + CHR(13) + ; "APPEND BLANK") * Add code to the Grid's Init() to add a * textbox at runtime and confirm it's invisible. lo.Grid1.COLUMNS(1).WRITEMETHOD("Init",; "THIS.ADDOBJECT('text2','textbox')" + ; CHR(13) + ; "THIS.CURRENTCONTROL = 'text2'" + ; CHR(13) + ; "Messagebox('text2.Visible='+" + ; "TRANSFORM(This.text2.Visible))") * Save and run the form. KEYBOARD '{CTRL-W}' DOEVENTS FORCE DO FORM ROTextbox CLOSE ALL RELEASE ALL CLEAR ALL DELETE FILE ROTextbox.SC? RECYCLE * Make a form CREATE FORM ROTextbox NOWAIT LOCAL laObject[1], lo ASELOBJ(laObject,1) lo = laObject[1] * Add a grid with 1 column lo.ADDOBJECT('grid1','grid') lo.Grid1.COLUMNCOUNT = 1 * Make a simple cursor so the grid has something * to bind to. Note, though, that this isn't * necessary to trigger the issue. lo.WRITEMETHOD("Load",; "CREATE CURSOR temp (l1 l)" + CHR(13) + ; "APPEND BLANK") * Add code to the Grid's Init() to add a * textbox at runtime and confirm it's invisible. lo.Grid1.COLUMNS(1).WRITEMETHOD("Init",; "THIS.ADDOBJECT('text2','textbox')" + ; CHR(13) + ; "THIS.text2.visible = .T." +; CHR(13) + ; "THIS.CURRENTCONTROL = 'text2'" + ; CHR(13) + ; "Messagebox('text2.Visible='+" + ; "TRANSFORM(This.text2.Visible))") * Save and run the form. KEYBOARD '{CTRL-W}' DOEVENTS FORCE DO FORM ROTextbox>Hi Tracy,