문제

나는 텍스트 상자를 4면의 양식에 고정하려고하는 문제가 발생합니다. 텍스트 상자를 양식에 추가하고 멀티 린 속성을 True 및 앵커 속성을 왼쪽, 오른쪽, 위쪽 및 아래로 설정하여 텍스트 상자가 런타임에 형태로 확장되고 축소되도록합니다. 또한 텍스트 상자 위와 아래에 몇 가지 다른 컨트롤이 있습니다.

앵커링은 Visual Studio 2005에서 올바르게 작동합니다 (예 : 양식을 조정하고 예상대로 컨트롤을 확장하고 축소 할 수 있습니다). 그러나 프로젝트를 실행하면 텍스트 상자의 하단이 형태의 맨 아래로 확장됩니다. 일반적으로 그 아래에 나타나는 컨트롤이 나타납니다. 이 문제는 크기 조정을 시도하기 전에 형태가 부하 될 때 발생합니다. 텍스트 상자의 고정은 상단, 왼쪽 및 오른쪽에 맞습니다. 바닥 만 오작동합니다.

아무도 이것에 대해 들어 본 적이 있습니까? 그렇다면 해결책을 찾을 수 있었습니까?

감사!

업데이트:

Greg D의 요청에 따라 디자이너 코드 중 일부는 다음과 같습니다 (나는 다른 컨트롤이 아니라 텍스트 상자 자체와 관련된 것들만 포함합니다).

Friend WithEvents txtRecommendationText1 As System.Windows.Forms.TextBox

<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
    Me.txtRecommendationText1 = New System.Windows.Forms.TextBox

    ' ...snip...

    'txtRecommendationText1

    Me.txtRecommendationText1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
                Or System.Windows.Forms.AnchorStyles.Left) _
                Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
    Me.txtRecommendationText1.Location = New System.Drawing.Point(4, 127)
    Me.txtRecommendationText1.Multiline = True
    Me.txtRecommendationText1.Name = "txtRecommendationText1"
    Me.txtRecommendationText1.Size = New System.Drawing.Size(223, 149)
    Me.txtRecommendationText1.TabIndex = 10
End Sub

다른 업데이트 :

원래 게시 한 텍스트 상자는베이스 클래스 양식에서 상속되지 않았습니다 (사용자 지정 사용자 제어 클래스에 추가되었지만 이전에 언급했을 것입니다). 그러나 최근에는 완전히 관련이없는 컨트롤 세트에서 동일한 문제를 해결했습니다. 베이스 클래스 형태로부터 상속되었다. .NET 프레임 워크에서 가능한 버그에 대한 이러한 문제를 쉽게 비난하는 것은 쉽지만 실제로 그런 식으로 나에게 그런 식으로보기 시작했습니다.

도움이 되었습니까?

해결책 3

원래 게시 한 텍스트 상자는베이스 클래스 양식에서 상속되지 않았습니다 (사용자 지정 사용자 제어 클래스에 추가되었지만 이전에 언급했을 것입니다). 그러나 최근에는 완전히 관련이없는 컨트롤 세트에서 동일한 문제를 해결했습니다. 베이스 클래스 형태로부터 상속되었다. .NET 프레임 워크에서 가능한 버그에 대한 이러한 문제를 쉽게 비난하는 것은 쉽지만 실제로 그런 식으로 나에게 그런 식으로보기 시작했습니다.

다른 팁

너의 Form 현지화? 리소스 파일에 항목을 확인하십시오 Textbox.Size, 삭제하고 크기를 재설정합니다.
너의 Form 상속되고 Textbox 기본 형식에? 설정해보십시오 Textbox보호 또는 공개에 대한 액세스 수정 자.
Custom Resize Logic을 구현 했습니까? 그것을 끄고 문제가 여전히 있는지 확인하십시오.
당신은 입력 했습니까? Textbox.MinimumSize/MaximumSize? 값을 제거하거나 변경하십시오.

이런 것들의 조합 일 수도 있습니다 ...

형태가 이상하게 초기화 된 후 크기를 조정할 때 양식이 예상 레이아웃으로 다시 스냅됩니까? 또한 텍스트 상자에 대한 높이 또는 최소 보상/최대 보상 속성을 설정 했습니까?

가능하면 디자이너 코드의 몇 개의 스 니펫이 유용 할 수 있습니다. :)

내가 과거에 들어갈 가능성 중 하나는 DPI입니다. 개발중인 기계와 다른 DPI 설정이있는 컴퓨터에서 코드를 실행/테스트하는 경우 이상한 것을 관찰 할 수 있습니다.

앵커 기능은 본질적으로 컨트롤의 가장자리와 컨트롤의 모서리 사이의 고정 거리를 설정합니다. 앵커가 제대로 설정되지 않은 다른 컨트롤 (예 : 패널)에 텍스트 상자가 포함되어 있습니까? 디자이너의 텍스트 상자를 마우스 오른쪽 버튼으로 클릭하면 그 아래에 존재하는 컨트롤을 선택할 수있는 메뉴가 나타납니다.

프로그램에 맞춤 크기 조정 논리가 포함되어 있습니까? 그것은 또한 이상한 행동을 초래할 수 있습니다. 나는 조직에서 원래 개발자가 많은 시간을 구현하는 데 많은 시간을 보냈던 여러 소프트웨어에 대한 유지 보수를 가정했다고 가정했습니다. 디자이너 생성 코드가 나를 위해 일합니다.

EnitializeComponent ()에 설정된 'AutoScalEmode'속성 때문일 가능성이 높습니다. '없음'으로 설정하고 그것이 수정되는지 확인하십시오. 나는 지금이 문제를 몇 번이나 가지고있었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top