Я использую этот хороший код, который между прочим, если Вы знаете о каком-либо лучшем способе выполнить это, я действительно ценю сообщение нам. таким образом, вот Панель инструментов, которая может плавать:
http://en.csharp-online.net/Tool,_Menu,_and_Status_Strips%E2%80%94Floating_ToolStrips
хороший, но что, если у меня только есть 4 кнопки на этой панели инструментов, когда я делаю, это плавать это - все еще тот же размер, как это было прикреплено с формой прежде, но мне жаль, что это не могло изменить размер себя и просто быть, пока это должно показать свои кнопки на нем.
m_floatForm.AutoSize = True
m_floatForm.AutoSizeMode = AutoSizeMode.GrowAndShrink
Вы можете сложить ширину отдельных элементов панели инструментов и использовать ее как ширину вашей формы.
Замените это:
floatForm.ClientSize = this.Size;
на это:
//Adjust min value for your needs. It should account for the width of the
//toolstrip, borders, etc.
int minWidth = 20;
int newWidth = minWidth;
foreach (ToolStripItem item in this.Items)
{
newWidth += item.Size.Width;
}
floatForm.ClientSize = new Size(newWidth, this.Size.Height);