Porady: tworzenie siatek właściwości dla ustawień użytkownika w Visual Basic
Siatkę właściwości dla ustawień użytkownika można utworzyć, wypełniając kontrolkę PropertyGrid właściwościami My.Settings
ustawienia użytkownika obiektu.
Uwaga
Aby ten przykład działał, aplikacja musi mieć skonfigurowane ustawienia użytkownika. Aby uzyskać więcej informacji, zobacz Zarządzanie Ustawienia aplikacji (.NET).
Obiekt My.Settings
uwidacznia każde ustawienie jako właściwość. Nazwa właściwości jest taka sama jak nazwa ustawienia, a typ właściwości jest taki sam jak typ ustawienia. Zakres ustawienia określa, czy właściwość jest tylko do odczytu; właściwość ustawienia Zakres aplikacji jest tylko do odczytu, podczas gdy właściwość ustawienia Zakres użytkownika to odczyt-zapis. Aby uzyskać więcej informacji, zobacz My.Ustawienia Obiekt.
Uwaga
Nie można zmienić ani zapisać wartości ustawień zakresu aplikacji w czasie wykonywania. Ustawienia zakresu aplikacji można zmienić tylko podczas tworzenia aplikacji (za pośrednictwem programu Project Projektant) lub przez edytowanie pliku konfiguracji aplikacji. Aby uzyskać więcej informacji, zobacz Zarządzanie Ustawienia aplikacji (.NET).
W tym przykładzie użyto PropertyGrid kontrolki w celu uzyskania dostępu do właściwości My.Settings
ustawień użytkownika obiektu. Domyślnie obiekt PropertyGrid pokazuje wszystkie właściwości My.Settings
obiektu. Jednak właściwości ustawienia użytkownika mają UserScopedSettingAttribute atrybut . W tym przykładzie BrowsableAttributes właściwość parametru PropertyGridUserScopedSettingAttribute ma być wyświetlana tylko dla właściwości ustawienia użytkownika.
Aby dodać siatkę właściwości ustawienia użytkownika
Dodaj kontrolkę PropertyGrid z przybornika do powierzchni projektowej aplikacji, przyjęto założenie, że w tym miejscu ma wartość
Form1
.Domyślną nazwą kontrolki property-grid jest
PropertyGrid1
.Kliknij dwukrotnie powierzchnię projektową,
Form1
aby otworzyć kod programu obsługi zdarzeń ładowania formularzy.My.Settings
Ustaw obiekt jako wybrany obiekt dla siatki właściwości.PropertyGrid1.SelectedObject = My.Settings
Skonfiguruj siatkę właściwości tak, aby pokazywała tylko ustawienia użytkownika.
' Attribute for the user-scope settings. Dim userAttr As New System.Configuration.UserScopedSettingAttribute Dim attrs As New System.ComponentModel.AttributeCollection(userAttr) PropertyGrid1.BrowsableAttributes = attrs
Uwaga
Aby wyświetlić tylko ustawienia zakresu aplikacji, użyj atrybutu ApplicationScopedSettingAttribute zamiast UserScopedSettingAttribute.
Niezawodne programowanie
Aplikacja zapisuje ustawienia użytkownika po zamknięciu aplikacji. Aby natychmiast zapisać ustawienia, wywołaj metodę My.Settings.Save
. Aby uzyskać więcej informacji, zobacz How to: Persist User Ustawienia in Visual Basic (Jak utrwalać Ustawienia użytkownika w Visual Basic).