2014-04-26 4 views
1

아래에서 사용하는 코드가 작동하지 않습니다. vb.net에 대해 상당히 숙련 된 경험이 있으며 이전에는이 ​​문제를 다루지 않았습니다. 양식이로드되면 (코드는 Load 이벤트 처리기 프로 시저 안에 있음) 나타납니다.vb.net을 사용하여 양식에 새 레이블을 추가하려고합니다.

Dim currentUserLabel As New Label 
    With {.Text = "Logged in as: " + firstName + " " + _ lastName, 
    .Location = New Point(5, 3), .Font = New Font("Microsoft Sans Serif", 
    18, FontStyle.Bold)} 
MenuTab.Controls.Add(currentUserLabel) 
currentUserLabel.AutoSize = True 
currentUserLabel.BringToFront() 
MenuTab.Refresh() 
+0

위도 - 원하는 곳으로 가서 원하는 위치에 레이블을 추가 한 다음, 그 위치를 확인한 다음 사용하십시오 – Plutonix

+0

탭에 레이블이 있었지만 텍스트가 잘못되었습니다. 내가 그것을 새롭게하거나 무효로 만들었을 때에도 변하지 않습니다. 그래서 매번 새로운 레이블을 만들려고 결심했습니다. 이전 레이블은 (5, 3) –

+0

일 때 양식/컨트롤이 무효화되거나 새로 고쳐질 때 텍스트 속성이 변경 될 때 변경되지 않아야합니다. Text 속성이 변경되면 새로운 컨트롤을 만드는 데 너무 많은 부담이 따른다. 이전 컨트롤을 적절히 처리해야합니다. 빌드 한 후 레코딩합니다. – Plutonix

답변

1

마지막으로 정렬되면 양식이로드 될 때 레이블이 무효화되고 레이블의 무효화를 처리하는 이벤트 메서드가 만들어집니다. 이미이 방법으로 시도했던 코드를 사용했는데 성공했습니다. 폼이로드 될 때 레이블 텍스트를로드하지 않는 이유는 알 수 없습니다. P. VB는 때때로 어리 석다 ...

2

컨트롤을 TabControl에 추가 할 수 없습니다. 단지 페이지입니다.

Dim currentUserLabel As New Label With {.Text = "Logged in as: " + firstName + " " + _ lastName, 
.Location = New Point(5, 3), .Font = New Font("Microsoft Sans Serif", 18, FontStyle.Bold)} 
MenuTab.TabPages(0).Controls.Add(currentUserLabel) 
currentUserLabel.AutoSize = True 
+0

MenuTab은 탭 컨트롤이 아니고 탭 컨트롤입니다 –

+0

그런 다음 문제를 다시 만들 수 없습니다. – OneFineDay

관련 문제