我使用c++ (CLR)创建了一个表单。我添加了一个richtextbox,我需要使它在我的源文件中可见,以便从那里更改文本。总结一下:我有一个richtextbox在myform .h.我需要改变这个richtextbox的文本从源代码。cpp.我怎么做?
设法解决它通过这样做:
在.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文件中修改的。
通过表单中的公共函数传递文本,并在那里更新文本。这样可以节省对象封装。
在表单中以以下方式添加一个方法:
表单中有一个私有字段:
private RichTextBox rtb;
rtb是对包含RichTextBox的用户控件的引用,该控件通过覆盖RichTextBox来公开RichTextBox文本属性:
public override string Text
{
get
{
return rtb.Text;
}
set
{
rtb.Text = value;
}
}
然后通过一个公共方法在你的表单中你可以访问RichTextBox
public void SetText()
{
rtb.Text = "test_text";
}
你可以在这里看看同样的想法:
http://www.codeproject.com/Articles/18178/A-Padded-Text-Box-Control更新:看看下面的例子,它强调了我上面的解释:http://www.codeproject.com/Articles/4544/Insert-Plain-Text-and-Images-into-RichTextBox-at-R