如何正确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
。
- 添加一个
ToolstripLabel
到StatusStrip
- 将文本设置为
string.Empty
- 为
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。
- 添加一个ToolstripLabel到StatusStrip
-
将文本设置为适当的空间量
toolStripStatusLabel1.Text =“”;
-
如果布局不是你想要的,步骤2改变
toolStripStatusLabel1.Text
的空间量,否则工作已经完成。