Здравствуйте!! не могу разобраться с My.Settings

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Здравствуйте!! не могу разобраться с My.Settings

Сообщение Rayrat7 » 19.07.2012 (Чт) 16:35

Здравствуйте!! Только начинаю осваивать VB, метод тыка и загугливания не помог..хочу сохранить конечное положение перемещаемых объектов но не могу врубиться как использовать My.Settings для сохранения т.к ни разу не видел как оно должно выглядеть\происходить:
-при отладке программы в VB перемещенный объект ,после завершения отладки , и на конструкторе формы должен занять новое положение?
- или позиции сохраняются только в скомпилированной версии?
-Сохранение происходит автоматический или требуется командная кнопка?( и с загрузкой тоже самое)

Извините за явно глупые вопросы но, мог бы кто нибудь помочь и скинуть какой нибудь примерчик с реализованным примером... Ну вобще никак въехать не могу...
или ссылку откуда такой можно скачать.
VB 2010 rayrat89@mail.ru

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение edyapd » 19.07.2012 (Чт) 18:03

Самое простое. А там услажняй как хочешь.
Пример.rar
(62.49 Кб) Скачиваний: 249

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 19.07.2012 (Чт) 20:31

По-моему, надо использовать Closing, а не Closed...

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Сообщение Rayrat7 » 20.07.2012 (Пт) 4:38

спс, а можно еще примеров?)

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение edyapd » 20.07.2012 (Пт) 6:00

Qwertiy писал(а):По-моему, надо использовать Closing, а не Closed...

Может быть. Я просто учусь по хелпу, а там на этот счет пишут так:
"Имеется возможность использовать это событие для выполнения таких задач, как освобождение ресурсов, используемых формой, и сохранение сведений, введенных в форму, или обновление родительской формы."

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение edyapd » 20.07.2012 (Пт) 6:01

Rayrat7 писал(а):спс, а можно еще примеров?)

Так все примеры будут этот повторять. Сохраняй поочередно все параметры которые тебе надо, а при открытии вытаскивай.

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Rayrat7 » 20.07.2012 (Пт) 6:40

с примером который выложили я в принципе разобрался,(сделал пару подобных уже сам) и в самом способе сохранения тоже, но мне нужно сохранить положение перетаскиваемых объектов, не могу определится с типом который нужно использовать,
и допустим если у меня 10 объектов то мне нужно на каждый будет прописывать сохранение? или можно будет по типу объекта захватить сразу все?

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Rayrat7 » 20.07.2012 (Пт) 6:42

таскаются они вот таким образом
Код: Выделить всё
Private Sub PictureBox_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If Control.MouseButtons = Windows.Forms.MouseButtons.Left Then
            CType(sender, PictureBox).Left = Control.MousePosition.X - Me.Left - CType(sender, PictureBox).Width
            CType(sender, PictureBox).Top = Control.MousePosition.Y - Me.Top - CType(sender, PictureBox).Height
        End If
    End Sub

Для сохранения понял нужно основываться на Location? както вылавливать координаты?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 20.07.2012 (Пт) 7:46

Rayrat7 писал(а):Для сохранения понял нужно основываться на Location? както вылавливать координаты?

Я тебе уже писал код, который это делает.
Хочешь сохранять через My.Settings - сохраняй. Но зачем спрашивать, как получить координаты???

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Rayrat7 » 20.07.2012 (Пт) 8:56

Ну если бы я с ним смог разобраться я бы не создавал новую тему на этот вопрос..
потому и хочу посмотреть как подобное реализовано в готовых проектах

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Nord777 » 20.07.2012 (Пт) 9:05

Rayrat7, все гораздо проще чем ты думаешь.

В коде выглядеть будет примерно так:

My.Settings.Pb1Loc = PictureBox1.Location
My.Settings.Pb2Loc = PictureBox2.Location
...

Pb1Loc и Pb2Loc - это переменные, которые надо вручную прописать в свойствах проекта на вкладке параметры. Имя переменной произвольное.
тип System.Drawing.Point
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение edyapd » 20.07.2012 (Пт) 9:26

Qwertiy писал(а):Я тебе уже писал код, который это делает.
Хочешь сохранять через My.Settings - сохраняй. Но зачем спрашивать, как получить координаты???

За то, что помогаешь, спасибо.
Но помощь профессионалу и новичку имеют различие. Одному достаточно дать кусок кода, а разберется он сам.
Второму можно код не давать, но надо объяснить почему это делается так.
Я порой чтобы одну строчку кода написать половину MSDN перекопаю. А если бы пользовался готовыми примерами, то до сих пор бы был на одном уровне.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 20.07.2012 (Пт) 10:24

Rayrat7 писал(а):Ну если бы я с ним смог разобраться я бы не создавал новую тему на этот вопрос..

Я думал, что ты создал тему, чтобы разобраться, как использовать My.Settings, а не чтобы узнать, как получить координаты PictureBox'ов...

edyapd писал(а):За то, что помогаешь, спасибо.
Но помощь профессионалу и новичку имеют различие. Одному достаточно дать кусок кода, а разберется он сам.
Второму можно код не давать, но надо объяснить почему это делается так.

Так что ты хочешь-то?

Это было для всех контролов формы:
Код: Выделить всё
  For Each Ctrl As Control In Me.Controls
    Options.Locations.Add(New LocationInfo() With {.Name = Ctrl.Name, .X = Ctrl.Left, .Y = Ctrl.Top})
  Next Ctrl
Берётся имя и две координаты.

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение edyapd » 20.07.2012 (Пт) 11:08

Qwertiy писал(а):Так что ты хочешь-то?

Это автор, на сколько я понимаю, понял и в той теме. Там у него другие вопросы возникли.
По этому он и пошел по простому пути.

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Rayrat7 » 20.07.2012 (Пт) 12:02

Nord777 писал(а): Rayrat7, все гораздо проще чем ты думаешь.

В коде выглядеть будет примерно так:

My.Settings.Pb1Loc = PictureBox1.Location
My.Settings.Pb2Loc = PictureBox2.Location
...

Pb1Loc и Pb2Loc - это переменные, которые надо вручную прописать в свойствах проекта на вкладке параметры. Имя переменной произвольное.
тип System.Drawing.Point


Пишет
Свойство "rt1" помечено как "ReadOnly".
Свойство "rt2" помечено как "ReadOnly".

как с этим бороться?)

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Nord777 » 20.07.2012 (Пт) 12:08

Надо в столбце "область" изменить значение с "приложение" на "пользователь"
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Rayrat7 » 20.07.2012 (Пт) 13:07

типа того?
Код: Выделить всё
Public Class Form1
    Private Sub PictureBox_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If Control.MouseButtons = Windows.Forms.MouseButtons.Left Then
            CType(sender, PictureBox).Left = Control.MousePosition.X - Me.Left - CType(sender, PictureBox).Width
            CType(sender, PictureBox).Top = Control.MousePosition.Y - Me.Top - CType(sender, PictureBox).Height
        End If
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        My.Settings.rt1 = PictureBox1.Location
        My.Settings.rt2 = PictureBox2.Location

        AddHandler (PictureBox1.MouseMove), AddressOf PictureBox_MouseMove
        Me.Controls.Add(PictureBox1)
        AddHandler (PictureBox2.MouseMove), AddressOf PictureBox_MouseMove
        Me.Controls.Add(PictureBox2)
    End Sub
End Class

но чет не работает, туда их засунул вобще?
ловит координаты автоматический?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 20.07.2012 (Пт) 13:13

Сохранять надо при закрытии, а считывать при открытии. Но не наоборот.

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Rayrat7 » 20.07.2012 (Пт) 13:31

а все заработало)
Всем огромное спс)

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Rayrat7 » 24.07.2012 (Вт) 7:48

А можно как то самому прописать адрес куда сохраняются данные Settings? именно файлик user.config
по умолчанию он улетает в
C:\Documents and Settings\user\Local Settings\Application Data\Microsoft\test\1.0.0.0\user.config

где можно поменять этот путь я неразыскал..

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Nord777 » 24.07.2012 (Вт) 10:04

Ты хочешь, чтобы он был в папке с приложением?
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Rayrat7 » 24.07.2012 (Вт) 11:43

ну в принципе да
а что есть какая то опция чтобы в папке с приложением сохранял параметры?
в идеале хотелось бы самому прописать путь сохранения

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Здравствуйте!! не могу разобраться с My.Settings

Сообщение Nord777 » 24.07.2012 (Вт) 12:12

Можешь воспользоваться кодом, который привел Qwertiy и тогда будешь полностью управлять настройками.
Можешь в проект добавить новый элемент: файл настроек. Он сохраняет свою секцию в конфигурационный файл, находящийся в папке приложения.
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35

    TopList