2017-09-12 2 views
0

내가 MySearchFields의 ObservableCollection에 있고, 사용자 지정 양식, 나는 다음과 같이 선언 CustomForm 말할 수 양식에서 CustomForm, 을 상속 받았을 때 디자이너보기에서 propertygrid 창으로 이동합니다. 내 ControlType을 선택하여 ComboBox가되고 DataSource, ValueMember 및 Display Member를 선택합니다. 문제는 DataSource, ValueMember 또는 DisplayMember를 설정하지 않는다는 것입니다. 왜 이런 일이 발생합니까? 내가 뭔가 빠진거야?사용자 정의 C#에서 프로퍼티의 GridView에서 컨트롤의 컬렉션을 설정하는 방법

public class MySearchFields 
{ 

    public enum MyControlTypes 
    { 
     MyTextBox,    
     MyDateTimePicker, 
     MyLbComboBox 
    } 

    private MyControlTypes _myControlType = MyControlTypes.MyTextBox; 

    public MyControlTypes MyControlType 
    { 
     get => _myControlType; 
     set 
     { 
      _myControlType = value; 
      switch (_myControlType) 
      { 
       case MyControlTypes.MyTextBox: 
       { 
        MyControl = new TextBox(); 
        break; 
       } 

       case MyControlTypes.MyLbComboBox: 
       { 
        MyControl = new MyLbComboBox();       
        break; 
       } 
       case MyControlTypes.MyDateTimePicker: 
       { 
        MyControl = new DateTimePicker(); 
        break; 
       } 

      } 
     } 
    } 

    public Control MyControl { get; set; } 
    public MySearchFields() 
    { 
     MyControl = new Control();     
    } 
} 

답변

0

귀하의 경우에는 전환기에서 ComboBox 대신 새로운 MyLBcombobox를 삽입한다는 오류가 있습니다.

공용 컨트롤 MyControl {get; 세트; } 적절한 세터와 게터뿐만 아니라 개인 변수 백업을 최대로

또한 단지 비주얼 스튜디오의 fullprop 조각을 사용

은 주위 교환 "fullprop"과 언론 2 회 탭을 쓰기 => 그리고 {}는 그렇게 좋지 않습니다.

관련 문제