【问题标题】: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();
    }

【问题讨论】:

    标签: c# winforms toolstripitem


    【解决方案1】:

    您应该获得rbRunMacro 相对于整个屏幕的位置(请参阅link)。

    form.Location = this.tsMacroRecorder.PointToScreen(rbRunMacro.Bounds.Location);
    

    我们使用ToolStrip.PointToScreen 的原因是ToolStripButton 不提供PointToScreen 方法。因此,我们必须使用ToolStripButton.Location 来获取rbRunMacro 相对于其父控件的位置(参见link)。

    【讨论】:

    • 谢谢你的作品 - 除了你必须参考工具条,因为工具条按钮不接受 PointToScreen 方法。
    猜你喜欢
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多