.NET 4.6.1. 윈도우 폼 usercontrol을 만들었습니다. Control 대신 System.Windows.Forms.TreeView를 상속하도록 변경했습니다. 그것에 (디자이너에서) 라벨을 추가했는데, 라벨을 언제 컨트롤 안에 넣을지 결정합니다. 컨트롤은 폼에 배치되고 런타임에는 트리 구조로 채워집니다 (제대로 수행 됨). 문제는 Visible 속성이 런타임에 True로 설정된 경우 레이블이 표시되지 않는다는 것입니다.사용자 정의 컨트롤 안의 레이블이 보이지 않음
Public Class Treeview111
Inherits System.Windows.Forms.TreeView
...
Public Sub ShowLabel
Label1.Visible=True
End Sub
Visible 속성이 디자이너에서 True로 설정된 경우에도 레이블은 표시되지 않습니다. 런타임에 Label을 동적으로 추가하려했지만 행운이 없었습니다. 나는 또한 그것을 친구에게서 대중에게 바꾸는 것을 시도했다. BringToFront도 도움이되지 않았습니다. 위치를 확인했는데 논리 값 (45,72) 안에있는 것으로 보입니다.
다른 것을 생각할 수 없습니다. 내가 놓친 게 있니? 내가 성취하려고 노력하고있는 것이 가능한가?
가장 중요한 코드가 누락되었습니다. 생성자 (Sub New)에 어떤 일이 발생했는지 분명하지 않습니다. InitializeComponent() 호출은 중요합니다. Form 또는 UserControl에서 파생되지 않는 클래스 (디자이너로 더 이상 수정할 수 없음)에는 의미가 없지만 Me.Controls.Add (Label1) 호출은이를 볼 수 있도록 중요합니다. –
>> 가장 중요한 코드가 누락되었습니다. 생성자 (Sub New)에 어떤 일이 발생했는지 분명하지 않습니다. InitializeComponent()에 대한 호출을 생략하면 경고가 표시되므로 누락 될 가능성이 없으므로이 점이 나에게 분명해 보였다. 또한 VB.NET에서는 "Me.Controls.Add (Label1)"이 VS 자체에서 Form.Designer.vb 파일에 자동으로 추가됩니다. 그 두 가지 이유 때문에 나는 downvote에 대한 필요성을 보지 못합니다. 나는 여기서 문제를 일으킬 수있는 것을 이해하지 못했기 때문에 어디를보아야하는지 구체적으로 묻습니다. 어쨌든 귀하의 회신은 올바른 방향으로 나를 가리켰습니다 (회신 참조). – FaultyOverflow
글쎄, 우리에게 좋은 repro code를 보여줘. 현재 작동하지 않는 이유를 추측 할만큼 충분하지 않습니다. 그것이 작동하지 않아야하는 근본적인 이유는 없습니다. –