컨트롤을 StatusStrip
. 어떻게 할 수 있습니까?
ToolStripItem
부모에 대한 물리적 정렬을 지정하는 컨트롤 에 설정할 속성이 표시되지 않습니다 StatusStrip
.
메시지 드롭 다운이 올바르게 정렬되도록하려면 어떻게합니까? http://i.friendfeed.com/ed90b205f64099687db30553daa79d075f280b90
답변
게시 직후 MSDN 포럼을 통해 찾았습니다. 🙂
당신은을 사용할 수 있습니다 ToolStripLabel
설정에 따라 올바른 정렬 제어를하여 유사하기 Text
에 속성을 string.Empty
하고, 설정 Spring
에 대한 속성을 true
. 이렇게하면 사용 가능한 공간이 모두 채워지고 모든 컨트롤이 오른쪽으로 밀 ToolStripLabel
립니다.
답변
저에게는 두 가지 간단한 단계가 필요했습니다.
- 설정
MyRightIntendedToolStripItem.Alignment
에Right
- 설정
MyStatusStrip.LayoutStyle
에HorizontalStackWithOverflow
답변
추가 된 참고 사항은 Win32 API에서 셀이 고정 너비이거나 나머지 공간을 채운다는 사실 때문입니다 -1
int statwidths[] = {100, -1};
SendMessage(hStatus, SB_SETPARTS, sizeof(statwidths)/sizeof(int), (LPARAM)statwidths);
SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)"Hi there :)");
메모리가 제대로 작동한다면 상태 표시 줄당 하나의 채우기 셀 (-1) 만 가질 수 있습니다.
세 번째 중간 셀을 추가하고 여기에 채우기 속성을 지정하여보다 일관성있는 상태 표시 줄을 얻을 수도 있습니다. 메시지의 왼쪽 오른쪽에 예상했던 부분이 삽입되어 있기 때문에 일관성이 있습니다. StatusBars 의 MSDN 페이지 에있는 mspaint 샷과 약간 비슷합니다.
나는 창의적인 접근을 좋아한다 : D
답변
아래 논리를 사용하여 Button
끝에를 표시 할 수 있습니다 StatusStrip
.
- a를
ToolstripLabel
받는StatusStrip
- 텍스트 설정
string.Empty
- 설정
Padding
에 대한ToolstripLabel
예를 들면 :
this.toolStripStatusLabel1.Padding = new Padding((int)(this.Size.Width - 75), 0, 0, 0);
답변
Toolstrip 레이블을 유지하고 Spring 속성을 true로 설정하고 BottomLeft의 레이블 정렬 텍스트에 대해
답변
StatusStrip 레이아웃을 HorizontalStackWithOverflow로 설정할 수 있음을 발견했습니다. 그런 다음 오른쪽에서 원하는 StatusStrip의 각 컨트롤에 대해 컨트롤 맞춤을 오른쪽으로 설정합니다.
정렬하기 위해 추가 또는 더미 컨트롤이 필요하지 않기 때문에 더 좋습니다.
답변
에서 컨트롤의 위치를 설정하는 일반적인 방법을 찾습니다 StatusStrip
. StatusStrip
아래 단계를 사용하여의 모든 위치에 버튼을 표시 할 수 있습니다 .
- StatusStrip에 ToolstripLabel 추가
-
텍스트를 적당한 공간으로 설정하십시오.
toolStripStatusLabel1.Text ="";
-
레이아웃이 원하는 것이 아닌 경우 2 단계로 이동하여의 공간 크기를 변경하고
toolStripStatusLabel1.Text
그렇지 않으면 작업이 완료된 것입니다.