Скажем, у меня есть 3 формы, форма А, форма В, форма С.как сохранить форму поверх другого
Я хочу, чтобы форма B, чтобы быть на вершине формы A
и форма С в быть в верхней части формы B.
Как это сделать?
Скажем, у меня есть 3 формы, форма А, форма В, форма С.как сохранить форму поверх другого
Я хочу, чтобы форма B, чтобы быть на вершине формы A
и форма С в быть в верхней части формы B.
Как это сделать?
Используйте пересылку Show (owner), чтобы получить форму B поверх A. Вам нужно будет установить размер и местоположение в событии Load, чтобы вы могли быть уверены, что это точно правильный размер даже после масштабирования. И выслушайте событие LocationChanged, чтобы вы могли также перемещать нижнюю форму. Это хорошо работает, за исключением нескольких интересных минимизирующих эффектов на Win7.
private void button1_Click(object sender, EventArgs e) {
var frmB = new Form2();
frmB.StartPosition = FormStartPosition.Manual;
frmB.Load += delegate {
frmB.Location = this.Location;
frmB.Size = this.Size;
};
frmB.LocationChanged += delegate {
this.Location = frmB.Location;
};
frmB.Show(this);
}
Когда вы позвоните по номеру ShowDialog
, пройдите форму, в которой вы хотите, чтобы она была перед параметром ShowDialog
.
Есть ли другой гибкий метод? –
@abcdefghijklmnopqrstuvwxyz, Можете ли вы объяснить, почему это не работает для вас? Вы показываете формы по-другому? –
Потому что он говорит, что мне нужно установить enabled = true, но мои формы уже включены –
Я не знаю C# :( –
Ну, используйте текст моего ответа вместо фрагмента. –