如何在工具条按钮位置打开表单
Posted
技术标签:
【中文标题】如何在工具条按钮位置打开表单【英文标题】:How to open form at toolstrip button position 【发布时间】:2014-01-10 19:07:34 【问题描述】:我有带有一些按钮的工具条菜单,菜单位于工具条容器中。我想要完成的是在特定的工具条按钮位置打开新表单......这是我的代码。除非我将工具条菜单移动到工具条容器的底部或右侧...
private System.Windows.Forms.ToolStripButton rbRunMacro;
private System.Windows.Forms.ToolStrip tsMacroRecorder;
private void rbRunMacro_Click(object sender, EventArgs e)
Rectangle rect = this.rbRunMacro.Bounds;
Point location = PointToScreen ( new Point(this.tsMacroRecorder.Location.X + rect.X, this.tsMacroRecorder.Location.Y + rect.Y));
MacroListForm form = new MacroListForm();
form.StartPosition = FormStartPosition.Manual;
form.Location = location ;
form.Show();
【问题讨论】:
【参考方案1】:您应该获得rbRunMacro
相对于整个屏幕的位置(请参阅link)。
form.Location = this.tsMacroRecorder.PointToScreen(rbRunMacro.Bounds.Location);
我们使用ToolStrip.PointToScreen
的原因是ToolStripButton
不提供PointToScreen
方法。因此,我们必须使用ToolStripButton.Location
来获取rbRunMacro
相对于其父控件的位置(参见link)。
【讨论】:
谢谢你的作品 - 除了你必须参考工具条,因为工具条按钮不接受 PointToScreen 方法。以上是关于如何在工具条按钮位置打开表单的主要内容,如果未能解决你的问题,请参考以下文章