我正在使用VS2008同时使用VB.NET和C#
我创建了一个简单的自定义用户控件,并为其添加了一些公共函数
我的问题是,如果我不将用户控件从工具箱拖放到winform上,而是尝试通过代码动态创建一个 - 我无法访问公共函数和属性
我无法理解为什么会出现差异,但似乎是htere。
非常感谢有关此事的任何帮助
感谢
答案 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");