首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >自动向下滚动列表框

自动向下滚动列表框
EN

Stack Overflow用户
提问于 2019-03-29 14:33:23
回答 1查看 79关注 0票数 0

我在没有scroll函数的地方使用Matlab R2018a。我只需要在添加项目时向下滚动列表框(动态)。

我在谷歌上找到了这个解决方案,但对我不起作用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
handles.slider.Max = length(handles.listbox.String);
handles.slider.Value = handles.slider.Max;

有没有其他的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2019-03-29 18:32:03

为了使ListboxTop属性生效,必须在将项添加到列表框之后重新绘制UI (使用drawnow)。

示例,使用带有一个标记为listbox1的列表框的指南

在图形用户界面的OpeningFcn中,编写

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
handles.t = timer('BusyMode', 'drop', 'ExecutionMode',...
'fixedRate', 'StartDelay', 4, 'Period', 4.0, 'TimerFcn', {@addItem, hObject});
handles.ctr = 0;
handles.t.start();
guidata(hObject, handles);

在最后,添加

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function addItem(hObject, EventData, parentO)

handles = guidata(parentO);
handles.ctr = handles.ctr + 1;
handles.listbox1.String{end+1} = sprintf('Item %i', handles.ctr);
drawnow
handles.listbox1.ListboxTop = numel(handles.listbox1.String) ;
guidata(parentO, handles);

请注意,当取消注释drawnow行时,列表框将始终跳转到所选项目(默认情况下是第一项)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55419698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文