Я пытаюсь выровнять элемент управления в StatusStrip. Как я могу это сделать?
Я не вижу свойство устанавливать на элементах ToolStripItem, которые определяют их физическое выравнивание на родительском StatusStrip.
Я пытаюсь выровнять элемент управления в StatusStrip. Как я могу это сделать?
Я не вижу свойство устанавливать на элементах ToolStripItem, которые определяют их физическое выравнивание на родительском StatusStrip.
Нашел его через форумы MSDN почти сразу после публикации:)
Вы можете использовать ToolStripLabel для псевдо-правого выравнивания, установив для свойства Text значение string.Empty и установив Spring свойство true. Это заставит его заполнить все доступное пространство и нажать все элементы управления справа от ToolStripLabel.
Правые выровненные сообщения http://i.friendfeed.com/f2fc7799d0897a4e835eedde83416f50c245cd6d
В качестве добавленного примечания это связано с тем, что в 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) для каждой строки состояния.
Вы также можете добавить третью среднюю ячейку и дать этому свойству заливки, чтобы получить более согласованный вид StatusBar. Согласовано, потому что в сообщениях есть вставка слева направо, где вы ожидаете этого. Немного похоже на снимок mspaint, найденный на странице MSDN для StatusBars
Мне нравится творческий подход: D
Вы можете отобразить Button в конце StatusStrip, используя следующую логику.
ToolstripLabel в StatusStripstring.EmptyPadding для ToolstripLabelНапример:
this.toolStripStatusLabel1.Padding = new Padding((int)(this.Size.Width - 75), 0, 0, 0);
Сохраните метку Toolstrip, установите для свойства Spring значение true и для выравнивания меток меток в BottomLeft
Поскольку ответ был принят, теперь есть намного более простой способ. Просто установите для свойства инструмента RightToLeft значение True.
Я нахожу общий способ установки расположения управления в StatusStrip.
Вы можете отобразить кнопку в любой позиции в StatusStrip, используя следующие шаги.
Установите текст как подходящее пространство, например
toolStripStatusLabel1.Text = "";
Если макет не то, что вы хотите, перейдите к шагу 2, чтобы изменить объем пространства
в toolStripStatusLabel1.Text, иначе работа была выполнена.