繁体   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