Matlab 应用程序设计器。使用 DropDown 打开和关闭面板

Matlab App Designer. Using DropDown to open and close panels

我是 matlab 的新手,我想知道是否有人可以解释一下。 我正在使用 Matlab R2017B 和 App Designer。

我的问题: 我在默认设置为不可见的 GUI 中有一个面板。 我还有一个下拉菜单,其中存储了一些值:

"Please Select" "Panel 1" "panel 2" "panel 3" 等...

当我从下拉列表中 select 面板 1 时,我希望该特定面板随后变得可见。即回调:

function DropDownValueChanged(app, event) app.Panel1.Visible = 'on';

这一切都很好并且可以工作,但我似乎无法正确完成下一部分。 当我返回下拉列表和 select "panel 2" 我想要的是程序关闭当前面板并通过 select 打开名为 "panel 2" 的面板下拉列表中的值。

我用可见性来定义这个是不是错了? 如何以更直观的方式将下拉值连接到相应的面板? 我一直在搞各种教程,但仍然无法正常工作

提前致谢

您需要读取下拉列表的值并使用它来评估应显示哪个面板。最初隐藏所有面板,然后只使感兴趣的面板可见。我的 DropdownValueChanged 函数如下所示。

    % Value changed function: DropDown
    function DropDownValueChanged(app, event)
        value = app.DropDown.Value;
        % Hide all the panels
        app.Panel1.Visible = 'off';
        app.Panel2.Visible = 'off';
        app.Panel3.Visible = 'off';

        %If Panel 1 is selected, show panel 1
        if strcmp(value,'Panel 1')
            app.Panel1.Visible = 'on';
        elseif strcmp(value,'Panel 2')
            app.Panel2.Visible = 'on';
        elseif strcmp(value,'Panel 3')
            app.Panel3.Visible = 'on';
        end
    end

我还在 startupFcn 中隐藏了除第一个面板之外的所有面板。

    % Code that executes after component creation
    function startupFcn(app)
        app.Panel1.Visible = 'on';
        app.Panel2.Visible = 'off';
        app.Panel3.Visible = 'off';
    end