0

我已經使用C++(CLR)創建了一個窗體。 我已經添加了一個richtextbox,我需要在我的源文件中使其可見,以便從那裏更改文本。 所以總結一下: 我在MyForm.h中有一個richtextbox。我需要從Source.cpp中改變這個richtextbox的文本。我該怎麼做?Visual c + +(CLR)從源文件中訪問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文件進行修改。

回答

0

通過表單中的公共功能傳遞文本,並在那裏更新文本。 以這種方式保存對象封裝。

在您的形式通過以下方式添加一個方法:

在你有一個私有字段的形式:

private RichTextBox rtb; 

RTB是含有暴露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

我希望已經夠清楚了。

+0

你能提供一個小例子嗎?我是託管C++的新手開始學習和體驗它2天前 – Cata

+0

這個例子足夠清楚嗎? – DeJaVo

+0

如果有幫助,請將其標記爲解決方案。 – DeJaVo