C ++ - CLI:UI Control作为外部函数的参数?

时间:2015-06-18 08:13:28

标签: winforms function user-interface c++-cli

我尝试使用WinForms为设备创建一个接口。我有一个存储所有参数和方法的类,如下所示:

// device.h:

class Device {

    double parameter_a;
    double parameter_b;

    double setParameterA(double new_value);
    double setParameterB(double new_value);
}

然后,我将创建一个实例并使用它的方法通过事件处理修改参数,并返回UI Control的校正值或者如果一切正常则返回0。

然而,我发现这个解决方案并没有真正缩短我的代码,因为我仍然需要修改我的Form文档中的UI,其中我的所有控件都可以访问(如果遇到错误/超出范围值)。

我想做的是以某种方式将一种指向UI Control(如TextBox)的指针传递给函数,并使其如下所示:

void setParameterA(double new_value, *ui_ctrl_pointer* ) {
    // simple value check
    if (new_value > 0) { 
        // numToMStr() - function I have to convert numbers to managed string
        *ui_ctrl_pointer*->Text = numToMStr(new_value); 
        return;
    }
}

并修改setParameterA()内的控件以及输入控件和设置我的设备。

1。是否有可能在C ++中做出这样的事情 - cli?(如果是这样, ui_ctrl_pointer 会是什么样子?)
2.这是一种正确的方法还是我应该坚持使用基本解决方案,这会迫使我检查功能输出以确定如何处理用户在我的UI中设置的值?

0 个答案:

没有答案