2013-10-13 2 views
0

레이블이있는 패널을 동적으로 만들 수 있기를 원했지만 레이블이 예상대로 작동하지 않습니다. 그것의 대부분을 절단.패널 내부에 레이블 레이블을 만들 때 텍스트는 VisualBasic에서 잘립니다.

패널을 만든 다음 패널 내부에 레이블을 만들면 텍스트가 올바르게 표시되지 않습니다. 누구나 그것을 고칠 줄 알아? 어떻게해야하고 무엇

그것이 그 위에서 언급 한 바와 같이 상태의 Label.AutoSize 재산권에 대한 MSDN 페이지에서 찾고 newpanel() 서브

Dim timetable(5, 5) As String 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Me.Width = (74 * 5) - 3 
    Me.Height = My.Computer.Screen.Bounds.Size.Height 
    Me.Top = My.Computer.Screen.Bounds.Top 
    Me.Left = My.Computer.Screen.Bounds.Right - Me.Width 
    GetTimetable() 
End Sub 





Private Sub newpanel(colour As Color, textT As String) 
    Dim Npan As New Panel 
    Npan.Top = 0 
    Npan.Left = 0 
    Npan.Width = Me.Width 
    Npan.Height = 64 
    Npan.BackColor = colour 
    Dim NpanT As New Label 
    NpanT.Parent = Npan 

    NpanT.Text = textT 

    Npan.Controls.Add(NpanT) 

    Me.Controls.Add(Npan) 


End Sub 

Private Sub GetTimetable() 
    'Dim path As String = My.Computer.FileSystem.SpecialDirectories.Desktop + "\Timetable" 
    newpanel(Color.Aqua, "this is a test! test testtesttest test test test") 
End Sub 
+1

정확히 말인가요? 라벨에 대해 거의 모든 속성을 설정하지 않으므로 기본값 (패널 내부 위치 포함)이 적용됩니다. – varocarbas

+0

이상한 행동은 기대와 다르게 행동한다는 것을 의미합니다. 당신은 당신이 무엇을 기대했는지, 무엇을 얻었는지를 명시 할 필요가 있습니다. 또한 텍스트가 올바르게 표시되지 않으면 텍스트가 표시되는 방식에 문제가 있음을 의미합니다. 다시, 당신은 당신이 무엇을 기대했는지, 무엇을 얻었는지에 대해 설명 할 필요가 있습니다. 원하는 것을 지정하지 않으면 원하는 것을 성취 할 수있는 방법을 우리가 말할 수는 없습니다. –

답변

0

로 텍스트와 함께 패널을 만드는 것이 었습니다 레이블 AutoSize 속성의 기본값은 디자이너에서 이지만이면 false 일 때 코드로 작성됩니다. 위의 링크에서

:

디자이너를 사용하여 폼에 추가, 기본값은 true입니다. 코드에서 인스턴스화 할 때 기본값은 false입니다.

그래서 당신이 당신의 newpanel 방법을 변경해야합니다

"이상한 행동"무엇
Private Sub newpanel(colour As Color, textT As String) 
    Dim Npan As New Panel 
    Npan.Top = 0 
    Npan.Left = 0 
    Npan.Width = Me.Width 
    Npan.Height = 64 
    Npan.BackColor = colour 
    Dim NpanT As New Label 
    NpanT.Parent = Npan 

    NpanT.Text = textT 
    NpanT.AutoSize = True 'Enables Auto sizing 
    Npan.Controls.Add(NpanT) 
    Me.Controls.Add(Npan) 
End Sub 
관련 문제