由于我无法使用表单设计器向状态条添加一个跟踪栏(我可以告诉),我已将以下代码添加到表单加载方法中:
zoomTrackBar = new TrackBar();
ToolStripControlHost myControlHost = new ToolStripControlHost(zoomTrackBar);
mainStatus.Items.Add(myControlHost);
zoomTrackBar.Minimum = 0;
zoomTrackBar.Maximum = 100;
myControlHost.Height = statusLabel.Height; // statusLabel is a label already in the statusstrip... I'd like to match its height but not working
有些东西不能正常工作。首先,轨道栏甚至不会出现,直到我最大化窗口或重复并随机调整窗口大小。一旦显示它,它将保持在那里,无论窗口状态如何。
添加跟踪栏之前,状态条中已有三个项目。第一个项目是自动标注,弹出到第二个和第三个(固定宽度)标签(因此较小的固定宽度标签始终保持在x和y坐标的右侧)。
创建的轨迹栏是巨大的。更改控制主机或轨迹栏本身的高度不会更改轨迹栏高度。它使整个地位变得更大。
如果更容易,我甚至会选择添加一个产生临时垂直轨道栏的按钮。
在mainStatus上调用Invalidate()没有帮助。