matlab gui editbox 编辑框输入前清空

matlab editbox 在编辑前我已经设置‘String’属性为“单击请输入”,然后想实现在输入时清空再进行输入!我尝试用ButtondownFcn 执行set(hObject,‘String’,‘ ’);结果不行!不知哪出错,如果各位高手知道怎么实现,还请帮忙解决!谢谢!!!

你可以设置当鼠标点击输入框时就会清空初始内容并进行输入:

假设输入框为edit1。将其'Enable'属性设置为'inactive'、'String'属性设置为'单击请输入'。ButtondownFcn事件实现如下:

function edit1.ButtondownFcn(hObject, eventdata, handles)
set(hObject, 'String', '', 'Enable', 'on');
uicontrol(hObject);

追问

请问 @兔子和小强 你有实现吗?我这边实现不了,当‘Enable’设置为‘inactive’时编辑文本怎么点到没反应,处于与‘off’相似的状态。似乎set(hObject, 'String', '', 'Enable', 'on');没有实现set(hObject,'Enable','on')!
难道是我的matlab工具有问题???

追答

我这边可以运行,版本R2013a。

你确定你文件里ButtondownFcn第一个的名字是hObject?较早Matlab版本中这个参数一般写成hObj。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-10

可以设置KeyPressFcn函数解决,非常简单,这样就可以实现双击自动清空内容,参考如何实现双击清空gui文本框,在该函数下增添两个语句即可。

相似回答