Compartilhar via


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

  1. 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.

  2. 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.

  3. Defina o objeto My.Settings como o objeto selecionado para a grade de propriedade.

    PropertyGrid1.SelectedObject = My.Settings
    
  4. 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.

Confira também