是否可以让设计器运行一个方法
Is it possible to make the designer run a method
设置是这样的:
假设您需要一些设计器不支持的窗体控件,并且您需要在 运行 时设置这些控件的高度和宽度。但是,您无法编译项目,因为您缺少项目所需的一些依赖项。这些依赖项需要 运行 的开发人员许可,而且非常昂贵,因此只有一套,你不是拥有它们的人。
导致这个问题:
你怎么能 运行 一个简单地将你的东西添加到设计器程序中的方法。该方法不是动态的,只是用来设置用户控件。
额外信息:
有问题的控件是一个支持向其添加控件的网格视图,我想查看向其添加控件的结果,以便我可以正确调整列的大小,而无需制作额外的项目来获得正确的大小.我可以修改网格视图。
欢迎使用 C# 或 VB 回答。我两个都用。这个有问题的项目在 VB 中,但非常欢迎了解 C# 中的方法。
此问题的合适解决方法是通过属性。我所做的是向该控件添加一个 属性 以获取控件的 Action,而在调用该控件的表单中我添加了一个静态 属性 即 returns 所述方法,如一个动作。
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
设置是这样的:
假设您需要一些设计器不支持的窗体控件,并且您需要在 运行 时设置这些控件的高度和宽度。但是,您无法编译项目,因为您缺少项目所需的一些依赖项。这些依赖项需要 运行 的开发人员许可,而且非常昂贵,因此只有一套,你不是拥有它们的人。
导致这个问题:
你怎么能 运行 一个简单地将你的东西添加到设计器程序中的方法。该方法不是动态的,只是用来设置用户控件。
额外信息:
有问题的控件是一个支持向其添加控件的网格视图,我想查看向其添加控件的结果,以便我可以正确调整列的大小,而无需制作额外的项目来获得正确的大小.我可以修改网格视图。
欢迎使用 C# 或 VB 回答。我两个都用。这个有问题的项目在 VB 中,但非常欢迎了解 C# 中的方法。
此问题的合适解决方法是通过属性。我所做的是向该控件添加一个 属性 以获取控件的 Action,而在调用该控件的表单中我添加了一个静态 属性 即 returns 所述方法,如一个动作。
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