我有一个用户定义的按钮,它可能有一个Style
属性,我可以在properties
窗口中为其选择一个值,并根据该值改变其图像和样式。
如何使此属性在properties
窗口的下拉列表中具有一些预定义和固定值?并选择一个值会导致运行方法
-细节:
此按钮可能具有指定的外观,例如暂停和播放样式。所以我开设了一个风格班:
// style of the button; pause, play, reset, etc
public abstract class ButtonStyle
{
public abstract Image GetImage();
}
// inherited classes of class ButtonStyle
public class PauseButtonStyle : ButtonStyle
{
public override Image GetImage()
{
return CustomButtonLibrary.Properties.Resources.PauseButton;
}
}
public class PlayButtonStyle : ButtonStyle
{
public override Image GetImage()
{
return CustomButtonLibrary.Properties.Resources.PlayButton;
}
}
按钮中有一个方法可以设置指定的样式(暂停,播放,...):
public void SetStyle(ButtonStyle style)
{
button1.Image = style.GetImage();
}
现在如何在
properties
窗口中为该自定义按钮提供属性,该属性具有一些默认值,例如pause
,play
等,并选择它会导致更改按钮的样式(通过运行SetStyle方法) 最佳答案
我将进行枚举并将其公开为Style
属性。然后,使用一个内部字典关闭该枚举值,以选择适当的ButtonStyle
对象传递给您的SetStyle
方法。