繁体   English   中英

具有多个访问自定义属性的实例的类引用

[英]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的子类,因此您希望将其CustomControl1CustomControl1 (这就是(CustomControl1)完成的工作)。

然后,您可以访问在CustomControl1定义的成员-例如buttonclicked

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM