Где My.Settings сохраняется в VB 2010 .NET?
Значения My.Settings сохраняются в самой программе или в реестре? Так, например, если я устанавливаю значение My.Settings с помощью программы, то я копирую саму программу на другой компьютер — значение My.Settings все еще установлено?
Florian Müller 1 Янв 2012 в 08:35
4 ответа
Лучший ответ
Это зависит от выбранной вами области действия. Есть два параметра области действия — область приложения и область пользователя.
Настройки на уровне приложения доступны только для чтения и являются общими для всех пользователи этого приложения. Эти настройки хранятся в app.config. файл в разделе. Во время выполнения app.config файл будет в вашей папке bin и будет назван с вашим название приложения (MySettingsDemo.exe.config).
Настройки пользовательского диапазона индивидуальны для каждого пользователя.
Их можно читать и безопасно устанавливается кодом приложения во время выполнения. Эти настройки хранится в файле user.config. Чтобы быть технически точным, есть два user.configs для каждого пользователя на приложение — один для не роуминга и один для роуминга. Хотя в документации Visual Basic 2005 указано, что файл user.config будет назван в соответствии с именем пользователя (joe.config), это не так. Файл user.config создается в в:
\[LocalSettings]ApplicationData\__.
kv-prajapati 1 Янв 2012 в 08:58
Dim config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal) MessageBox.Show(config.FilePath)
Axel Esquivel 2 Дек 2015 в 09:17
Если вы установили свое приложение с помощью clickonce, тогда ваши MySettings будут сохранены в файле конфигурации, который хранится в папке `C: Users \ AppData Local Apps 2.0 Data .
Autocom CDP+ Не работает программа! Установка Прошивка Тест [ Ds150e 2х или 1- платный — что лучше ]
Поиск по этим путям с файлом с именем yourapp.exe.config
Дело в том, что MySettings будет храниться в файле app.config этого приложения, а после публикации файл app.config сохраняется как файл applicationname.exe.config.
Ry- 3 Янв 2012 в 00:33
Они определенно не хранятся в программе, если являются пользовательскими настройками — это не очень просто реализовать и довольно бессмысленно. Скорее они хранятся в файле конфигурации в папке% AppData%. Так что нет, если вы скопировали программу, пользовательские настройки не пошли бы вместе с ней, только настройки приложения.
Источник: question-it.com
Объект My.Settings
Предоставляет свойства и методы для доступа к параметрам приложения.
Remarks
Объект My.Settings предоставляет доступ к параметрам приложения и позволяет динамически хранить и извлекать параметры свойств и другие сведения для приложения. Дополнительные сведения см. в разделе Управление параметрами приложения (.NET).
Свойства
Свойства объекта My.Settings обеспечивают доступ к параметрам приложения. Чтобы добавить или удалить параметры, используйте конструктор Параметры.
Добавляем кейс бенефициара I-134 в my.uscis программа U4U на одного человека (гуманитарный пароль)
Каждый параметр имеет имя, тип, область и значение, и эти параметры определяют, как свойство для доступа к каждому параметру отображается в объекте My.Settings :
- Имя определяет имя свойства.
- Тип определяет тип свойства.
- Область указывает, доступно ли свойство только для чтения. Если значением является Application, свойство доступно только для чтения; Если значение — User, свойство доступно для чтения и записи.
- Значением по умолчанию является свойство.
Методы
Reload | Перезагружает параметры пользователя из последних сохраненных значений. |
Save | Сохраняет текущие параметры пользователя. |
Объект My.Settings также предоставляет расширенные свойства и методы, унаследованные от ApplicationSettingsBase класса.
Задания
В следующей таблице перечислены примеры задач, My.Settings связанных с объектом.
Чтение параметра приложения | Практическое руководство. Чтение параметров приложения в Visual Basic |
Изменение параметра пользователя | Практическое руководство. Изменение пользовательских параметров в Visual Basic |
Сохранение параметров пользователя | Практическое руководство. Сохранение пользовательских параметров в Visual Basic |
Создание сетки свойств для параметров пользователя | Практическое руководство. Создание таблицы свойств для пользовательских параметров в Visual Basic |
Пример
В этом пример выводится значение параметра Nickname .
Sub ShowNickname() MsgBox(«Nickname is » https://learn.microsoft.com/ru-ru/dotnet/visual-basic/language-reference/objects/my-settings-object» target=»_blank»]learn.microsoft.com[/mask_link]
MySettings
Наверное, многие читатели уже знают об этой программе и пользуются ей, однако, если еще это не так, вот вам маленькая заметка про маленькую, гордую и очень полезную программку — MySettings.
MeSettings отображается поверх экрана системы и занимает собой все свободное пространство, то есть полноэкранная программа. Суть приложения проста как две копейки — быстрый доступ к наиболее востребованным настройкам системы. Пункты настроек представлены кнопками, в программе эти кнопки отображаются сеткой, по три клавиши-настройки в строку, всего 12 штук. Есть как кнопки для простого включения выключения функции, например Wi-Fi или Bluetooth, так и кнопки для более детальных настроек.
Главное окно программы, оно же и основное
Окно с настройкой звука — неплохая замена отсутствующим в Android профилям звонка
Например, если нажать на «Режим звонка», откроется еще одно меню, в котором можно будет выбрать необходимый режим. Почти что профили звонка получаются. Тоже самое относится к кнопке яркости, можно выбрать одно из фиксированных значений. Все доступные настройки программы вы легко определите по скриншотам.
Я же хочу добавить, что MySettings умеет работать фонариком (есть в приложении такая кнопка, которая «забеляет» экран), отображаться в виде иконки в системном баре, а также показывать уровень заряда батареи и значения памяти в устройстве и на карточке. У меня к этому приложению и ее разработчикам только одно нарекание — такой удобной и простой утилите нужна хорошая иконка в Market и в окне среди других программ, а не то безобразие, которое есть сейчас. В остальном отличное приложение для доступа к настройкам системы.
Строка внизу — это настройки My Settings, также тут можно сделать экран фонариком
Вот так выглядит окошко настройки яркости экрана
Источник: android.mobile-review.com
Как использовать My.Settings для сохранения настроек
Только начинаю осваивать VB, метод тыка и загугливания не помог..хочу сохранить конечное положение перемещаемых объектов но не могу врубиться как использовать My.Settings для сохранения т.к ни разу не видел как оно должно выглядетьпроисходить:
-при отладке программы в VB перемещенный объект ,после завершения отладки , и на конструкторе формы должен занять новое положение?
— или позиции сохраняются только в скомпилированной версии?
-Сохранение происходит автоматический или требуется командная кнопка?( и с загрузкой тоже самое)
Извините за явно глупые вопросы но, мог бы кто нибудь помочь и скинуть какой нибудь примерчик с реализованным примером. Ну вобще никак въехать не могу.
или ссылку откуда такой можно скачать.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Чтение настроек My.Settings со значением по умолчанию
Добрый вечер, такая проблема: Нужно что бы при открытии программы в TexBox5 был текст (слово.
Как использовать горячие клавиши для сохранения текста?
Доброго времени суток. Я использую Windows Forms и язык C# для написания не большого проекта.
Нужен cmd для сохранения настроек реестра
Добрый день! Столкнулся с такой проблемой: руководство поставило задачу в срочном порядке.
Сохранение настроек — файл settings пустой
Хочу сохранить настройки. но ничего не сохраняется, файл Settings пустой. .
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
Запоминает размер и положение формы
Вложения
My.Settings.rar (55.0 Кб, 359 просмотров) |
Регистрация: 14.06.2012
Сообщений: 70
сделал вот так чет не сработало..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
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
Регистрация: 07.01.2012
Сообщений: 414
edward_freedom рабочий вариант паказал!
147 / 147 / 41
Регистрация: 01.12.2009
Сообщений: 275
Пример Эдварда нет возможности просмотреть.
Добавлено через 19 минут
Rayrat89 у вас при загрузке формы записываются положения пикчербоксов, а нужно считать их т.е.
PictureBox1.Location = My.Settings.rt1
Также в свойствах проекта—> Приложение поставить галку «Сохранять My.settings при завершении работы» или при закрытии формы выполнить
My.settings.save()
далее необходимо в свойствах проекта —> параметры, прописать переменные rt1, rt2
Также при закрытии формы необходимо передать переменным значения
My.Settings.rt1 = PictureBox1.Location My.Settings.rt2 = PictureBox2.Location
Регистрация: 14.06.2012
Сообщений: 70
А все разобрался!)) спс огромн!)
Регистрация: 07.01.2012
Сообщений: 414
Щас домой приду и помогут, хорошо через планшет не удобно
1274 / 979 / 137
Регистрация: 01.10.2009
Сообщений: 3,089
Записей в блоге: 1
А все разобрался!)) спс огромн!)
Добавлено через 21 час 50 минут
А можно как то самому прописать путь сохранения Settings?
по умолчанию он кидает сюда:
C:Documents and SettingsuserLocal SettingsApplication DataMicrosofttest1.0.0.0user.config
Если какой-либо пост на форуме показался вам полезным, нажмите кнопку «Спасибо» внизу самого поста.(Правила п.3.6)
Это только на машине разработчика (или где VS стоит, х.з.). На другой машине работает из корня проги.
Регистрация: 14.06.2012
Сообщений: 70
Регистрация: 03.12.2014
Сообщений: 78
Это только на машине разработчика (или где VS стоит, х.з.). На другой машине работает из корня проги.
А если я запущу программу на другой машине, у меня мои настройки будут загружены, если они сохранены ток на локальной машине?
1274 / 979 / 137
Регистрация: 01.10.2009
Сообщений: 3,089
Записей в блоге: 1
А если я запущу программу на другой машине, у меня мои настройки будут загружены, если они сохранены ток на локальной машине?
ничего не понял) формируете настройки, заполняете компилируете приложение, переносите файлик ссеттинг в корень программы, и переносите на другой ПК, и настройки берутся с этого файлика с корня ПО
Регистрация: 03.12.2014
Сообщений: 78
ничего не понял) формируете настройки, заполняете компилируете приложение, переносите файлик ссеттинг в корень программы, и переносите на другой ПК, и настройки берутся с этого файлика с корня ПО
Я имел ввиду файл с настройками user.config, создаваемый по умолчании в пути, который прописал выше, пользователь Rayrat89. У меня такой путь — C:UsersRichardAppDataLocalWindowsApplication1 WindowsApplication1.exe_Url_aivtvlugjlyngupbthe1h yp2ldnlvl1w1.0.0.0 где прям указан url расположения программы, то есть если я перенесу в другую папку программу (сам .exe и exe.config) то у меня уже создается другая папка WindowsApplication1.exe_Url_* и понятное дело все Value по нулям. О каком файле ссетинг вы имеете ввиду? User.config?
Мой код, в котором происходит запись настроек после закрытия формы, может стоит что-то в нем поменять, чтобы была привязка к текущему пути корня проги, независимо в какой папке она будет находиться.
1 2 3 4 5 6 7 8 9 10 11 12 13
Public Sub New() InitializeComponent() TextBox1.Text = My.MySettings.Default.namez TextBox2.Text = My.MySettings.Default.namei End Sub Private Sub Form1_FormClosed(sender As System.Object, e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed My.MySettings.Default.namez = TextBox1.Text My.MySettings.Default.Save() My.MySettings.Default.namei = TextBox2.Text My.MySettings.Default.Save()
Источник: www.cyberforum.ru