none
Запомнить координаты формы в Си Шарп

    Вопрос


  • Среди нескольких Форм в проекте есть Форма с координатами X,Y .
    Перемещаю Форму в другое место на экране с координатами X1,Y1.

    Как запомнить Новые координаты формы?

    Затем закрываю форму. 

    Как открыть туже Форму с новыми координатами?

    За ранее спасибо за ответы!

    SHerkh






    • Изменено SHerkh 10 августа 2017 г. 14:54
    10 августа 2017 г. 14:14

Ответы

Все ответы

  • Первая ссылка по запросу "windows forms window position":

    https://msdn.microsoft.com/en-us/library/aa984420(v=vs.71).aspx

    Если вы используйте другую технологию то поменяйте имя технологии в запросе, например "WPF window position".



    This posting is provided "AS IS" with no warranties, and confers no rights.

    10 августа 2017 г. 15:47
  • Спасибо за ответ, но Ссылка ведёт к материалу об определении положения формы по заданным координатам, но там ничего не говорится о программном получении координат местоположения формы на экране дисплея.

    То, о чём говорите Вы, я использую примерно вот в таком виде:

                this.StartPosition = FormStartPosition.Manual;
                this.Location = new Point(Right + 10, Bottom + 10);

    Естественно, если мне необходимо открыть форму по заранее известным или желаемым координатам, данный код наиболее приемлем. 

    Вопрос был не о том как задать координаты местоположения формы, а о том как получить эти самые координаты с целью дальнейшего их использования для обработки формы.

    SHerkh




    • Изменено SHerkh 11 августа 2017 г. 2:08
    11 августа 2017 г. 2:06
  • Добрый день.

    Не очень понятно в чем проблема. Если вы можете установить координаты формы, то и считать эти координаты вы тоже можете. Причем из тех же полей. Если вам нужен универсальный механизм для хранения таких координат, то тут чуть сложнее. Если бы делал я, то вынес бы в статический класс Dictionary у которого ключем являлся бы тип формы, а значением информация о ее размещении. Для всех форм у которых вы хотите хранить расположение сдалал бы базовый класс, в котором добавил бы обработчик события изменения расположения и размера. В нем бы сохранял информацию о текущем расположении в этом Dictionary. Ну а при создании формы по ее типу находил бы нужную запись и показывал форму в требуемой позиции.

    Как то так.

    11 августа 2017 г. 9:26
    Отвечающий
  • Здравствуйте!

    Да, это именно то, что требуется. Можете посоветовать раздел Руководства или материалы на эту тему?

    SHerkh

    11 августа 2017 г. 14:57
  • По моему, вам надо просто сделать класс типа FormParams, добавить в него координаты формы. В событии Close сериализовать его в файл ИмяФормы.xml, а в событии Load - десериализовать. См. https://stackoverflow.com/questions/14616958/saving-the-form-state-then-opening-it-back-up-in-the-same-state

    • Помечено в качестве ответа SHerkh 12 августа 2017 г. 5:33
    11 августа 2017 г. 16:33
  • Спасибо! Разберусь ... Удачи! :)

    SHerkh

    12 августа 2017 г. 5:34