0

我熟悉 C# 并经常在其中编写代码,但 MATLAB 对我来说完全是一个新应用程序。

所以,我在这里想要实现的是在 MATLAB 中设计一个简单的 GUI,如“旋钮”,并通过 C# 应用程序启动它。

这是我用于旋钮的 MATLAB 脚本:

function a = Modify_Figure_value(val)
fig = uifigure('Name','KnobValue','Position',[100 100 283 275]);

txt = uieditfield(fig,'text',...
'Position', [69 82 100 22]);

kb = uiknob(fig,...
'Position',[89 142 60 60],...
'ValueChangedFcn',@(kb,event) knobTurned(kb,txt),'Tag','knob');

set(fig.Children(1),'Value',val);
a = 1;
end

当我在 MATLAB 中运行上述脚本时,旋钮会显示在一个窗口中。

然后我使用MATLAB 编译器将其打包为一个名为“ displayKnobValueIndotNet ”的.NET 程序集,以便在 C# 代码中使用(类名为Modify_Figure_valueclass)。因此,我编写了一个 WPF 应用程序,其中包含一个按钮,单击时应启动旋钮:

public partial class Demo_function : UserControl
{
    displayKnobValueIndotNet.Modify_Figure_valueclass obj = 
    new displayKnobValueIndotNet.Modify_Figure_valueclass();


    public Demo_function()
    {
        InitializeComponent();

    }

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
       MWArray x = obj.Modify_Figure_value((MWNumericArray)25);   
    }
 }

但是 GUI 没有启动,也没有错误或异常。我哪里错了?

一旦我实现了上述目标,我需要使 GUI 具有交互性,因为当我更改旋钮中的值时,我会在我的 WPF 应用程序中恢复这些值。那么,这可行吗?

4

0 回答 0