如何正确alignmentStatusStrip中的控件?

我正在尝试alignmentStatusStrip一个控件。 我怎样才能做到这一点?

我没有看到在ToolStripItem控件上设置的属性,这些控件在父级StatusStrip上指定它们的物理alignment方式。

我怎样才能让消息下降到正确的位置? http://i.friendfeed.com/ed90b205f64099687db30553daa79d075f280b90

在发布后几乎立即通过MSDN论坛find它:)

通过将Text属性设置为string.Empty并将Spring属性设置为true可以使用ToolStripLabel伪alignment控件。 这将导致它填充所有可用空间,并将所有控件推到ToolStripLabel的右侧。

右alignment消息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)。

你也可以添加第三个中间单元格,并给这个fill属性来获得一个更加简洁的外观状态条。 一致,因为消息有一个插入左侧的权利,你所期望的。 有点像在StatusBars的MSDN页面上findmspaint镜头

我喜欢这个创意的应用:D

您可以使用下面的逻辑在StatusStrip的末尾显示Button

  1. 添加一个ToolstripLabelStatusStrip
  2. 将文本设置为string.Empty
  3. ToolstripLabel设置Padding

例如:

 this.toolStripStatusLabel1.Padding = new Padding((int)(this.Size.Width - 75), 0, 0, 0); 

保留一个工具条标签,将Spring属性设置为true,并在BottomLeft中标签alignment文本

由于答案被接受,现在有一个更简单的方法。 只需将RightToLeft工具条属性设置为True。

我find了在StatusStrip设置控件位置的一般方法。 您可以使用以下步骤在StatusStrip的任何位置显示button。

  1. 添加一个ToolstripLabel到StatusStrip
  2. 将文本设置为适当的空间量

    toolStripStatusLabel1.Text =“”;

  3. 如果布局不是你想要的,步骤2改变toolStripStatusLabel1.Text的空间量,否则工作已经完成。