2010-12-16 2 views
0

DataGridview 및 다른 컨트롤을 호스팅하는 사용자 정의 컨트롤을 만들었습니다. 그런 다음 양식 위에 놓습니다. 대상 폼에 그리드의 속성 (예 : 열 표시)을 사용자 정의하는 방법은 무엇입니까?
수정자를 public으로 설정하는 것으로 충분하다고 생각했습니다.WinForms UserControl 디자인

+1

[사용자 지정 UserControl에 배치 할 때 컨트롤 기능을 버블 링하는 방법] (http://stackoverflow.com/questions/2785376/how-to-bubble-a-controls-features-when-place) -in-a-custom-usercontrol) –

답변

1

그렇다면 사용자 컨트롤 인스턴스를 통해 그리드를 처리 할 수 ​​있습니다. 컨트롤이 "MyControl"이라고 가정하고 컨트롤 내의 그리드 이름이 "MyGrid"라면 MyControl.MyGrid.을 사용하여 속성에 접근 할 수 있어야합니다.

+0

프로그래밍 방식으로 예. 디자인 타임은 어떨까요? – Nickolodeon

0

다른 폼에서 컨트롤 디자인을 변경하는 데 도움이되는 속성을 UserControl에 추가 할 수 있습니다.

+0

아마도 UserControl 속성의 "miscellanous"탭 (분류 된보기에서)에 나타날 속성을 의미합니다. 나는 public string DisplayText와 같은 것을 할 수있다 {get {return userControlTextBox.Text} set {.... 하지만 나는 컨트롤을 마우스로 직접 조작 할 수있는 능력이 필요하다. 그래서 내 양식에 의해 호스팅되는 UserControl에 의해 호스팅되는 컨트롤을 클릭하면 해당 컨트롤의 속성, 특히 DataGridView (또는 XtraGrid)를 얻을 수있다. – Nickolodeon

+0

예, 속성 창에서 –

+0

가 배치 [검색 가능한 (참)] [EditorBrowsable (EditorBrowsableState.Always)] [DesignerSerializationVisibility (DesignerSerializationVisibility.Visible)]의 UserControl의 InitializeComponent를 내 그리드에 설치해도 ((도움이되지 않았다 ( – Nickolodeon

0

문제는 내가 처음에 제기 한 일반적인 방식으로 해결되지 않았습니다.
빠른 해킹으로 필자는 필자가 필요로하는 일부 그리드 속성 (Columns 컬렉션과 같은)에 대해 공용 속성을 선언했습니다. 그러나Tnanx에게 도움을 요청합니다.