Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建控件的新实例会丢失引用吗?_C#_.net - Fatal编程技术网

C# 创建控件的新实例会丢失引用吗?

C# 创建控件的新实例会丢失引用吗?,c#,.net,C#,.net,我已经从设计器中创建了一个devexpress图表控件 chartControl1 然后我将这个控件传递给两个类中的一个 DailyChart(chartControl1, id) 在课堂上我做了一些魔术;) 但在运行时,我需要在组合框选择更改后在同一控件中显示第二个图表。 事情是这样的 WeeklyChart(chartControl1, id) 但是它不会恢复chartControl的状态,并且该控件没有重置功能或类似的功能。找到创建新实例的建议 因此,我: chartControl1

我已经从设计器中创建了一个devexpress图表控件

chartControl1
然后我将这个控件传递给两个类中的一个

DailyChart(chartControl1, id)
在课堂上我做了一些魔术;) 但在运行时,我需要在组合框选择更改后在同一控件中显示第二个图表。 事情是这样的

WeeklyChart(chartControl1, id)
但是它不会恢复chartControl的状态,并且该控件没有重置功能或类似的功能。找到创建新实例的建议

因此,我:

chartControl1 = new ChartControl()
chartControl1 = WeeklyChart(chartControl1,id)
但是我看不到任何结果 我从DailyChart开始,很好用 然后做一个新的实例,调用WeeklyChart,我仍然可以看到DailyChart,但是在图表上做一些操作的按钮什么都没做——看起来图表失去了参考?这是为什么?如何解决


在将新实例分配给chartControl1时,我不应该中断引用,在将其传递给另一个类之后,它应该只重置此控件中的所有设置,恐怕它不会这样工作

如果从设计器中创建了
chartControl1
,并且在代码中将变量设置为新的
ChartControl
实例,则从那时起,它将指向该新实例,而不是最初创建的实例


我不太熟悉DevExpress图表控件,但我很确定您可以通过编程方式对其进行任何更改。问问他们,我相信有人可以帮你。

显示按钮点击的代码你所做的只是更改对象引用。现在有两个图表对象。charControl1变量引用的一个变量,以及用户仍在查看的原始变量。您必须处理旧的控件,然后将新的控件添加到控件集合中。