无法访问用户控件公共属性

时间:2010-01-31 07:48:44

标签: function controls public

我正在使用VS2008同时使用VB.NET和C#

我创建了一个简单的自定义用户控件,并为其添加了一些公共函数

我的问题是,如果我不将用户控件从工具箱拖放到winform上,而是尝试通过代码动态创建一个 - 我无法访问公共函数和属性

我无法理解为什么会出现差异,但似乎是htere。

非常感谢有关此事的任何帮助

感谢

3 个答案:

答案 0 :(得分:6)

您将变量定义为UserControl类型。因此,intellisense只会向您显示UserControl类的成员,即使它实际上是myCustomControl类型。

将您的初始声明更改为myCustomControl myUC;,您应该好好去。

答案 1 :(得分:1)

您需要输入强制转换为用户控件类型 然后它工作 对于Ex:

public partial class uctls_contact_uctlCompanyViewContacts : System.Web.UI.UserControl
{
public bool ReadOnlyMode
    {
        get;
        set;
    }
}

UserControl uctlCompanyViewContacts = (UserControl)Page.LoadControl("uctlCompanyViewContacts.ascx");
uctlCompanyViewContacts.ID = "uctlCompanyViewContacts";
panelCompanyViewContacts.Controls.Add(uctlCompanyViewContacts);
((uctls_contact_uctlCompanyViewContacts)uctlCompanyViewContacts).ReadOnlyMode = true;

答案 2 :(得分:0)

您是否使用LoadControl方法加载控件?

MyControl ctrl = (MyControl)LoadControl("~/MyControl.ascx");