设置如下:
想象一下,您需要对设计者不支持的表单进行一些控制,您需要在运行时设置这些控件的高度和宽度。但是,您无法编译项目,因为您缺少项目所需的依赖项。这些依赖项需要运行开发人员许可证并且非常昂贵,因此只有一组它们而且你不是拥有它们的那些。
导致此问题:
如何运行一种方法,只需将设备中的内容添加到程序中即可。该方法不是动态的,只是设置用户控件。
额外信息:
有问题的控件是一个支持向其添加控件的网格视图,我希望看到向其添加控件的结果,这样我就可以正确调整列的大小,而无需另外创建一个项目来获得正确的大小。我可以修改网格视图。
在C#或VB中都欢迎回答。我用两个。这个项目是用VB编写的,但是知道如何在C#中受到欢迎。
答案 0 :(得分:0)
此问题的合适解决方法是通过属性。我所做的是为该控件添加一个属性,该属性采用控件的Action,而在调用控件的形式中,我添加了一个返回所述方法的静态属性,作为一个动作。
<强> C#强>
自定义控制
public Action<myControl> SetUp
{
get { return x => { }; }
set { value(this); }
}
表格
public static Action<myControl> SetUp
{
get
{
return x =>
{
/* Do Stuff */
};
}
}
在表格设计师
中this.myControl1.SetUp = myForm.SetUp
<强> VB 强>
自定义控制
Public Property SetUp() As Action(Of myControl)
{
Get
Return
Sub(x)
End Sub
End Get
Set
value(Me)
End Set
End Property
表格
Public Shared Property Setup() As Action(of myControl)
Get
return
Sub(x)
'Do Stuff
End Sub
End Get
End Property
在表格设计师
中Me.myControl1.SetUp = myForm.SetUp