У меня есть две формы, моя основная форма - Form1, а моя дополнительная форма, отображаемая по запросу, в виде диалога - Form2. Теперь, если я вызываю Form2, он всегда отображается в верхнем левом углу моего экрана. Сначала я подумал, что моей формы вообще нет, но потом увидел, что она висит в верхнем углу экрана. Я хотел бы показать свою форму в текущей позиции мыши, когда пользователь щелкает контекстное меню, чтобы отобразить модальное диалоговое окно. Я уже пробовал разные вещи и искал образцы кода. Но я не нашел ничего, кроме тысячи различных кодов, как получить реальную позицию мыши разными способами, которые я уже знаю. Но эта позиция в любом случае всегда относится к экрану, главной форме, элементу управления или любому другому текущему контексту. Вот мой код (позиционирование рабочего стола, которое я также пробовал, не работает, а центр экрана центрирует только форму, поэтому я оставил свойство для Windows.Default.Position):
Form2 frm2 = new Form2();
frm2.textBox1.Text = listView1.ToString();
frm2.textBox1.Tag = RenameFile;
DialogResult dlgres=frm2.ShowDialog(this);
frm2.SetDesktopLocation(Cursor.Position.X, Cursor.Position.Y);