从不同的类更改textBox的值?

时间:2012-02-19 08:34:16

标签: .net oop class c++-cli

如果我在另一个头文件中有一个带有textbox1的C ++ / CLI表单和一个名为Dummy的类,如果我想“直接”更改{{1}的值,我该怎么办?一个函数存在于Dummy类中吗?

2 个答案:

答案 0 :(得分:2)

C ++会进行单遍编译。这意味着在编译器已经看到它之前你不能使用它。

当你有两个相互使用的类时,这可能很棘手。幸运的是,C ++还允许前向声明,它告诉编译器“这是我稍后将为您提供的类或函数的签名”。

通常,按顺序为编译器提供以下内容:

  • 转发类

    ref class Dummy;
    ref class MyForm;
    
  • 类定义

    ref class Dummy { ... };
    ref class MyForm { ... };
    
  • 类成员函数定义

    void Dummy::DoIt()
    {
        myForm->textBox1->Text = whatever;
    }
    

通常,唯一需要的是将函数定义放在.cpp文件中,并确保.cpp文件#include是每个类的头文件。对于您的问题,这意味着您应该将此行放在Dummy.cpp中,其中包括Dummy.hmyform.h

答案 1 :(得分:0)

如何将变量作为TextBox对象传递给虚拟类,然后, 虚拟进行更改并返回TextBox对象

public System.Windows.Forms.TextBox ChangeText(System.Windows.Forms.TextBox MyTextBox)
{
    MyTextBox.Text = "HELLO";
    return MyTextBox;
}

这是C#类中的一个方法,也许你可以使用相同的逻辑。