2015-12-08 5 views
2

У меня есть приложение, как это:Получить позицию курсора в C#

enter image description here

Желтая форма появится когда пользователь нажимает на кнопку на главной форме, и я хочу, что желтая форма появляется в месте, где курсор указывает на. (на картинке - кнопка № 26). Но это только кажется где-то еще (так же, как картина тоже)

Вот мой OnClick событие кнопки на главной форме:

ChooseAnswer Answer = new ChooseAnswer(); 
Answer.Location = new Point(Cursor.Position.X, Cursor.Position.Y); 
Answer.ShowDialog(); 

Что случилось с этим?

Извините за мой английский!

OK решение:

ChooseAnswer Answer = new ChooseAnswer(); 
Answer.StartPosition = FormStartPosition.Manual; 
Answer.Location = new Point(Cursor.Position.X, Cursor.Position.Y); 
Answer.ShowDialog(); 
+0

Где находится этот код, внутри обработчика кликов для этих кнопок? Или вы хотите, чтобы эта форма перемещалась с помощью мыши, как всплывающая подсказка? – Groo

+0

нет. просто появляюсь, когда я нажимаю кнопку с номером в ней (в основной форме) – tuankhoa1996

+0

Я думаю, что позиция курсора, которую вы получаете, относится к окну, а не к экрану. – wimh

ответ

0

Попробуйте это;

ChooseAnswer Answer = new ChooseAnswer(); 
Answer.Top = Cursor.Position.Y; 
Answer.Left = Cursor.Position.X; 
Answer.ShowDialog(); 
+0

Оставить комментарий для -1 – Irshad

+0

все еще появляются в каком-то странном месте! :( – tuankhoa1996

+0

@Irshad: 'Top' и' Left' не делают ничего, кроме просто изменить свойства Form.Location', конечный результат будет равен тому, что OP теперь. – Groo

Смежные вопросы