Если вы хотите, чтобы MySearchForm
отображалось под элементом управления (TextBox
в вашем случае):
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == 'G') {
e.Handled = true;
// We compute global coordinates that corresponds local ones {0, TextBox1.Height}
Point at = (sender as Control).PointToScreen(new Point(0, (sender as Control).Height));
MySearchForm form = new MySearchForm() {
StartPosition = FormStartPosition.Manual,
Location = at,
};
// or form.ShowDialog();
form.Show();
...
}
...
}
Возможно, вы захотите разработать создание формы: давайте посмотрим, есть ли у нас открытый экземпляри, если мы это сделаем, переместите его:
MySearchForm form = Application
.OpenForms
.OfType<MySearchForm>()
.LastOrDefault();
if (null == form) {
form = new MySearchForm() {
StartPosition = FormStartPosition.Manual,
Location = at,
};
form.Show();
}
else {
form.WindowState = FormWindowState.Normal;
form.BringToFront();
form.Location = at;
if (form.CanFocus)
form.Focus();
}