[英]Class Referencing with multiple instances accessing Custom Properties
我有一个条件,我有一个用户单击一个按钮,它将启动一个自定义控件。 基本控件是一个TabPage。
CustomControl1 cust = new CustomControl1();
我的CustomControl中有一个属性,就像这样:
private string ButtonName = string.Empty;
public string buttonclicked
{
get { return ButtonName; }
}
我只是没有适当地考虑这个问题,或者我错过了一些东西。
如果我尝试引用该控件,则将获得最后的控件值,而不是正在使用的控件。 我尝试了各种各样的方法,只是无法获得所选的选项卡来返回值。
foreach(Tabpage page in this.TabControl1.TabPages)
{
if(page.name == this.TabControl1.SelectedTab.Name)
{
MessageBox.Show(cust.buttonclicked);
}
}
我总是得到最后添加的控件,而不是选择的控件。 赞赏的建议,谢谢。
在循环中,您指的是cust
但这不是循环变量。 据推测,您覆盖cust
当您创建一个新的自定义控制。
如果控件实际上是选项卡,则需要引用该选项卡。类似:
var custPage = (CustomControl1)TabControl1.SelectedTab;
MessageBox.Show(custPage.buttonclicked);
由于TabControl1.SelectedTab
的类型为TabPage
,但是您知道它实际上是TabPage
名为CustomControl1
的子类,因此您希望将其CustomControl1
为CustomControl1
(这就是(CustomControl1)
完成的工作)。
然后,您可以访问在CustomControl1
定义的成员-例如buttonclicked
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.