0

当用户在文本框中键入时,我正在使用 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);
    }

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

4

1 回答 1

1

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

于 2013-01-29T13:51:40.850 回答