Я нахожусь в потоке, отличном от потока пользовательского интерфейса, и мне нужно отобразить модальную форму, которая находится в центре основной формы приложения. Обычно я использую ширину и высоту основной формы и модальную форму для расчета местоположения, затем использую метод PointToScreen основной формы, чтобы получить местоположение модальной формы. Поскольку я нахожусь в другом потоке, мне нужно использовать Control.Invoke для вызова этого метода. Я просто не могу понять, как передать параметр типа Point в Control.Invoke (params object []). Значения типов и String работают нормально.
или , если кто-то сможет найти лучший способ отображения формы с центром в основной форме независимо от потока, это было бы замечательно. MessageBox, кажется, может это сделать (хотя и не модально).
EDIT
У меня нет проблем с вызовом чего-то подобного.
mainform.Invoke(..., object[] { someString });
Проблема заключается в следующем:
public Point Control.PointToScreen(Point p)
Этот метод принимает Point в качестве параметра и возвращает Point . Как я могу позвонить через Control.Invoke?