.net WinForm 사용자 컨트롤 개발 -- (7) 사용자 컨트롤 드롭다운 속성 설정
여기서 사용자 컨트롤을 정의하고 속성을 설정합니다 DropDownPropery
코드는 다음과 같다.
public partial class UCLab : UserControl
{
public UCLab()
{
InitializeComponent();
}
private string dropdownPropery="Hello";
[Description(" ")]
[Editor(typeof(DropTypeDialogEditor),typeof(UITypeEditor))]
public string DropDownPropery
{
get
{
return dropdownPropery;
}
set
{
dropdownPropery = value;
}
}
}
이어서 이 속성은 아래 편집기를 설정합니다. 코드는 다음과 같습니다.
/// <summary>
///
/// </summary>
public class DropTypeDialogEditor:UITypeEditor
{
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
if (context!=null&&context.Instance!=null)
{
return UITypeEditorEditStyle.DropDown;//
}
return base.GetEditStyle(context);
}
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
{
System.Windows.Forms.Design.IWindowsFormsEditorService editorService = null;
if (context!=null&&context.Instance!=null&&provider!=null)
{
editorService = (System.Windows.Forms.Design.IWindowsFormsEditorService)provider.GetService(typeof(System.Windows.Forms.Design.IWindowsFormsEditorService));
if (editorService!=null)
{
UCLab lab =(UCLab)context.Instance;
UCDrop drop = new UCDrop(lab.DropDownPropery);
editorService.DropDownControl(drop);
value = drop.Result;
return value;
}
}
//return base.EditValue(context, provider, value);
return value;
}
}
상기 코드는 사용자 컨트롤을 창에 끌어다 놓고 이 속성을 설정하면 다음과 같은 창 디스플레이를 할 수 있습니다.
DEMO 다운로드:http://download.csdn.net/detail/zx13525079024/4552462
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AS를 통한 Module 개발1. ModuleLoader 사용 2. IModuleInfo 사용 ASModuleOne 모듈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.