4
사용자 지정 listview
컨트롤을 만들었습니다. 새 열을 추가 할 때마다 새 단추를 추가하도록 설정했습니다.
사용자 지정 컨트롤이 포함 된 프로그램을 실행하면 열 단추가 제대로 배치됩니다. 그러나 디자인 타임에 열을 추가하거나 제거하면 컨트롤이 추가 된 단추를 업데이트하지 않습니다.디자인 타임 다시 그리기
런타임에는 문제가 없지만 디자인 타임에는 열 단추를 업데이트하기 위해 양식을 닫았다가 다시 열어야합니다 (다시 그리기를 강요해야 함).
프로그래밍 방식으로 내 사용자 정의 컨트롤의 다시 그리기를 강제로 수행 할 수 있습니까?
열 속성은 다음과 같습니다
<MergableProperty(False)> _
<Editor("System.Windows.Forms.Design.ColumnHeaderCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", GetType(UITypeEditor))> _
<DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
<Localizable(True)> _
Public ReadOnly Property Columns() As ListView.ColumnHeaderCollection
Get
Return ListView1.Columns
End Get
End Property
그리고이 같은 컨트롤 다시 그리려고 :
Me.Invalidate()
Dim x As New Rectangle With {.X = Me.Location.X, .Y = Me.Location.Y, .Size = Me.Size}
Me.NotifyInvalidate(x)
그러나 어떤 이유로
, 그것이 작동하지 않습니다. 디자인 타임에 열을 추가 할 때마다 해당 단추가 추가되지 않습니다.
코드는 대부분 작동합니다. 버튼이 열 머리글과 동일한 것인지 확실하지 않습니다. 나는 또한 귀하의 컨트롤 ListView 컨트롤을로드하고 그것으로부터 상속하지 추측했다. VS2012에서 테스트했습니다. – LarsTech
네, 그게 사실 사실, 내가 listview 컨트롤을 사용하여, 내 컨트롤은 그 목록보기의 헤더로 몇 가지 사용자 정의 스타일 버튼을 추가 .. 몇 가지 이유로, 그들은 디자인 모드에서 업데이 트되지 않습니다 ... – rusoaica
나는 이 코드를 표시하는 방법에 대한 코드 – LarsTech