Loop through multiple EditField controls placed inside the App Designer and get values from them.
11 次查看(过去 30 天)
显示 更早的评论
Hi, I have placed multiple EditField controls within my App Designer aplication that I am trying to build.
I am now trying to create a function which will loop through all the 'EditField.Value' controls, compare the value and replace it if required.
How do I get hold of 'EditField.Value' programaticly by looping through all the controls at once?
I was hoping to use control name to access it directly but just cannot work out how it can be done.
Thank you for your help
0 个评论
采纳的回答
Dennis
2020-7-10
If your edit fields have systematic names you can do it like this:
for i=1:3
app.(sprintf('EditField%d',i)).Value
end
You just need to pay attention, that you might need to rename the first EditField to EditField1.
You can also create EditFields in a loop, which is really helpful, when you need to create more than 2 or 3.
For example you could put this in your startupFcn:
for i=3:-1:1
editFields(i)=uieditfield(app.UIFigure,'numeric');
editFields(i).Position = [90 100+i*40 100 22];
end
app.editFields=editFields; %you need to add the editFields property to your app for this to work
Then you can simply loop through your handles:
for i=1:3
app.editFields(i).Value;
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Develop Apps Using App Designer 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!