Como criar grades de propriedades para configurações de usuário no Visual Basic
Você pode criar uma grade de propriedades para configurações de usuário, preenchendo um controle PropertyGrid com as propriedades da configuração de usuário do objeto My.Settings
.
Observação
Para que esse exemplo funcione, seu aplicativo deve ter as configurações de usuário definidas. Para obter mais informações, consulte Gerenciando configurações de aplicativo (.NET).
O objeto My.Settings
expõe cada configuração como uma propriedade. O nome da propriedade é o mesmo que o nome da configuração e o tipo de propriedade é o mesmo que o tipo de configuração. O Escopo da configuração determina se a propriedade é somente leitura. A propriedade para uma configuração de escopo do Aplicativo é somente leitura, enquanto que a propriedade para uma configuração de escopo do Usuário é de leitura/gravação. Para obter mais informações, consulte Objeto My.Settings.
Observação
Você não pode alterar ou salvar os valores de configurações de escopo do aplicativo em tempo de execução. As configurações de escopo do aplicativo só podem ser alteradas ao criar o aplicativo (por meio do Designer de Projeto) ou editando o arquivo de configuração de aplicativo. Para obter mais informações, consulte Gerenciando configurações de aplicativo (.NET).
Este exemplo usa um controle PropertyGrid para acessar as propriedades de configuração do usuário do objeto My.Settings
. Por padrão, o PropertyGrid mostra todas as propriedades do objeto My.Settings
. No entanto, as propriedades de configuração do usuário têm um atributo UserScopedSettingAttribute. Este exemplo define a propriedade BrowsableAttributes do PropertyGrid como UserScopedSettingAttribute para exibir somente as propriedades de configuração do usuário.
Para adicionar uma grade de propriedades de configuração do usuário
Adicione o controle PropertyGrid da Caixa de Ferramentas à superfície de design do seu aplicativo, assumido aqui como sendo
Form1
.O nome padrão do controle de grade de propriedades é
PropertyGrid1
.Clique duas vezes na superfície de design para o
Form1
abrir o código para o manipulador de eventos de carregamento de formulário.Defina o objeto
My.Settings
como o objeto selecionado para a grade de propriedade.PropertyGrid1.SelectedObject = My.Settings
Configure a grade de propriedades para mostrar somente as configurações do usuário.
' Attribute for the user-scope settings. Dim userAttr As New System.Configuration.UserScopedSettingAttribute Dim attrs As New System.ComponentModel.AttributeCollection(userAttr) PropertyGrid1.BrowsableAttributes = attrs
Observação
Para mostrar somente as configurações de escopo do aplicativo, use o atributo ApplicationScopedSettingAttribute em vez de UserScopedSettingAttribute.
Programação robusta
O aplicativo salva as configurações do usuário quando o aplicativo é desligado. Para salvar as configurações imediatamente, chame o método My.Settings.Save
. Para obter mais informações, consulte Como persistir configurações do usuário no Visual Basic.