【问题标题】:ToolStripDropDown with no bounds constraint无边界约束的 ToolStripDropDown
【发布时间】:2013-01-12 23:15:47
【问题描述】:

当用户输入文本框时,我正在使用 ToolStripDropDown 创建一个自动完成弹出窗口。我希望弹出窗口只显示在文本框的右下角。 但是当文本框的位置靠近屏幕的右侧或底部边缘时,弹出窗口将显示在其他位置。 谁能帮帮我?

来自 ToolStripDropDown 的派生类中的代码:

public void Show(Presenters.IMainView c, Point position)
    {
        base.Show(c as Control, position, ToolStripDropDownDirection.BelowRight);
    }

主视图中的代码:

private void TextBoxAutocomplete_TextChanged(object sender, EventArgs e)
    {
        _mPopup.Show((IMainView)this, ((TextBox)sender).Location);
    }

我希望弹出窗口像普通表单一样,其位置不受屏幕或工作区边界的限制,但不会从父表单中窃取焦点

【问题讨论】:

  • 请向我们展示您的代码。
  • 已编辑并添加更多描述
  • 最后,我想出了另一个解决方法。谢谢

标签: winforms c#-2.0


【解决方案1】:

我决定使用另一种更简单的方法。我没有使用 ToolStripDropDown 的派生类,而是使用从 UserControl 派生的类,使其不会从其父级窃取焦点(请参阅this question

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多