簡體   English   中英

Windows窗體的DDX數據綁定找不到類方法

[英]DDX Data Binding with Windows Forms Can't Find Class Method

因此,我正在使用Visual C ++ 2013來使用MFC制作GUI應用程序。 我已使用本教程將C#Windows窗體嵌入到GUI中,並從那里開始使用本教程將數據綁定添加到Windows窗體窗口。 現在,我可以在C ++中使用以下行來更改按鈕和文本的屬性:

m_MyControl.GetControl()->textBox1->Text = "text changed";
m_MyControl.GetControl()->button1->Text = "text changed";

但是,當我嘗試使用同一方法更改添加到Windows窗體中的圖表的屬性時,如下所示:

m_MyControl.GetControl()->chart1->Name = "test";

然后我得到的錯誤

error C2039: 'Name' : is not a member of System::Windows::Forms::DataVisualization::Charting::Chart'

我不知道為什么會這樣,因為chart1與C#設計器文件中的button1和textBox1一起聲明為公共。 我看到的唯一區別是,當我將鼠標懸停在m_Mycontrol ...行中的button1或textbox1上時,我得到了數據類型,但通過chart1我得到的只是<'error-type'>

任何幫助將不勝感激。

更新:因此,在經歷了很多痛苦之后,我的頭撞到了桌子上,我找到了解決該問題的方法。 萬一以后有人遇到同樣的問題並遇到這篇文章,這對我有用:因為我不能直接從C ++端操作chart1,但是我可以在C#端,所以我只是向其中添加了一個豐富的文本框Windows窗體,使其變得太小而看不見,將其隱藏在圖表后面,然后使用

m_MyControl.GetControl()->richtextBox1->Text = " 1 2 \n 2 2 \n 3 3";

將數據輸入到我想放入圖表的富文本框中的方法(C ++端)。 然后,我在C#端添加了一個事件處理程序,以便每當富文本框更新時,圖表都將解析該字符串,獲取該數據並對其進行繪制。

編輯:發現這不起作用的實際原因。 在項目>屬性>框架和引用下,我需要添加system.windows.forms.datavisualization,以便VC ++知道在哪里可以找到成員函數。 現在我可以打電話

m_ctrl1.GetControl()->chart1->Series[0]->Points->AddXY(0,0);

而且效果很好,將點添加到圖表中,我現在是一個快樂的露營者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM