2012-10-02 3 views
-1

나는 현재 가지고있는 문제에 대한 답을 찾기 위해 여러 곳을 찾고 있었지만 지금까지 아무 것도 찾지 못했습니다.텍스트 상자 텍스트를 변경하면 부모 창의 크기가 잘못 조정됩니다.

현재 내가 가지고있는 것은 사용자 정의 컨트롤이있는 C# windows 폼입니다. 일부 사용자 컨트롤에는 내부에 다른 컨트롤이 있습니다. 텍스트 상자의 텍스트를 변경하면 어떻게됩니까? 창 크기를 변경할 때 부모 창의 크기가 더 이상 조정되지 않습니다. 즉, 특정 윈도우에서 가로 스크롤바가 비활성화 된 경우에도 가로 스크롤 막대가 나타납니다. 마치 텍스트를 변경하면 부모 창 스타일이 변경됩니다.

너무 애매한 경우 패널에 도킹 속성이 채워지도록 텍스트 상자가 있습니다. 텍스트 상자에 미적 목적을위한 여백이있을 수 있도록 패널의 안쪽 여백은 10입니다. 이 컨트롤은 부모 컨트롤 (부모 1이라고도 함) 내에 있으며, 다른 컨트롤에도 상주합니다 (부모 2라고도 함). 그래서 텍스트 상자의 텍스트를 변경하면 (심지어 공간을 추가하는 경우에도) 부모 2가 가로 스크롤 막대 깜박임을 가지게되고 때로는 양식 창 크기를 수동으로 조정할 때도 남아있게됩니다.

+1

이 코드를 어떻게 설정하는지 보여주는 작은 코드 스 니펫을 추가하십시오. – CrazyCasta

답변

0

UserControlTextBox이 채워지는 것뿐만 아니라 사용자 정의 컨트롤 자체와 해당 부모 (및 부모)가 올바르게 도킹되었는지 또는 양식으로 크기가 조정되도록 앵커가 설정되어 있는지 확인해야합니다.

사용자가 문자를 입력 할 때 특별한 코드를 실행합니까? (KeyPressed 이벤트 등). 예인 경우 이벤트를 일시적으로 사용 불가능으로 설정하여 문제가 발생하는지 확인해야합니다.

코드 샘플을 게시하면 도움이 될 것입니다. 이것없이 우리는 내가 시도한 것처럼 추측 할 수있다. ...

0

나는 나의 문제를 발견했다! autoScrollBars 및 이중 버퍼링을 사용하면 윈도우의 크기를 조정할 때 가로 스크롤 막대가 표시되지 않아야합니다 (적어도 내 경우에는). 대답은 간단했고, autoScrollBars를 잊어 버렸고, 내 자신의 세로 스크롤 막대를 구현했습니다!

실제로 볼 때 여러분들을 위해 여기에 몇 가지 코드를 올려 놓았습니다. 그러나 그것을 보았을 때 나는 자동 스크롤을 잊기로 결심했습니다.

나는 그것이 실제로 왜 궁금합니다. 내 친구는 .net autoScroll 몇 가지 문제가 있다고 들었지만, 나는이 정도로 될 것이라고 생각하지 않았다.

관련 문제