Visual c++ (CLR) 从源文件访问 richtextbox

Visual c++ (CLR) Acces richtextbox from a source file

我使用 C++ (CLR) 创建了一个表单。 我已经添加了一个 richtextbox,我需要让它在我的源文件中可见,以便从那里更改文本。 所以总结一下: 我在 MyForm.h.I 中有一个 richtextbox,需要从 Source.cpp.How 更改此 richtextbox 的文本,我可以这样做吗?

通过这样做设法修复它:

像这样在 .cpp 源文件中创建一个新函数:

void TEST(System::Windows::Forms::RichTextBox ^ changin)

{

    changin->Text = "TEST";
}

比.h文件

void TEST(System::Windows::Forms::RichTextBox ^ changin);

这是按下按钮时的情况:

private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {

TEST(richTextBox4);

}

其中 richTextBox4 是应该从 .cpp 文件修改的那个。

通过表单中的 public 函数传递文本,然后更新文本。 这样就省去了对象封装。

在您的表单中按以下方式添加一个方法:

在表单中你有一个私有字段:

private RichTextBox rtb;

rtb 是对包含 RichTextBox 的用户控件的引用,该控件通过覆盖显示 RichTextBox 文本 属性:

 public override string Text
    {
        get
        {
        return rtb.Text;
        }
        set
        {
        rtb.Text = value;
        }
    }

然后通过表单中的 public 方法,您可以访问 RichTextBox。

public void SetText()
        {
            rtb.Text = "test_text";
        }

你可以在这里看看同样的想法:

http://www.codeproject.com/Articles/18178/A-Padded-Text-Box-Control

Update :看看下面的例子,它强调了我上面的解释:http://www.codeproject.com/Articles/4544/Insert-Plain-Text-and-Images-into-RichTextBox-at-R

希望已经足够清楚了。