Presumo que você esteja usando o VS2010 (foi como você marcou a questão). Tive problemas para adicioná-los automaticamente à caixa de ferramentas como no VS2008 / 2005. Na verdade, existe uma opção para interromper o preenchimento automático da caixa de ferramentas!
Vá para Ferramentas> Opções> Windows Forms Designer> Geral
Na parte inferior da lista, você encontrará Toolbox> AutoToolboxPopulate, que em uma nova instalação é padronizado como False. Defina-o como verdadeiro e reconstrua sua solução.
Ei, pronto, os controles de usuário em sua solução devem ser adicionados automaticamente à caixa de ferramentas. Talvez seja necessário recarregar a solução também.
UserControl
estiver fora do projeto atual.Clique com o botão direito na barra de ferramentas e clique em "escolher item" no menu de contexto. Uma caixa de diálogo com componentes registrados é exibida. nesta caixa de diálogo, clique em "Navegar" para selecionar sua montagem com o controle de usuário que deseja usar.
PS. Esta montagem deve ser registrada antes.
fonte
Descobri que o controle de usuário deve ter um construtor sem parâmetros ou ele não aparecerá na lista. pelo menos isso era verdade no vs2005.
fonte
Usando o VS 2010:
Digamos que você tenha um projeto Windows.Forms. Você adiciona um UserControl (digamos MyControl) ao projeto e cria tudo. Agora você deseja adicioná-lo à sua caixa de ferramentas.
Assim que o projeto for construído com sucesso uma vez, ele aparecerá em seus componentes do Framework. Clique com o botão direito na caixa de ferramentas para obter o menu de contexto, selecione "Escolher itens ..." e navegue até o nome do seu controle (MyControl) na guia "Componentes do .NET Framework".
Vantagem sobre o uso de dlls: você pode editar os controles no mesmo projeto do seu formulário, e o formulário será construído com os novos controles. No entanto, o controle estará disponível apenas para este projeto.
Nota: Se o controle tiver erros de construção, resolva-os antes de prosseguir para os formulários que os contêm, ou o designer terá um ataque cardíaco.
fonte
Eu tinha muitos controles de usuário, mas um se recusou a mostrar na caixa de ferramentas , embora eu reconstruísse a solução e ela estivesse marcada na caixa de diálogo Escolher itens ...
Solução:
Observe que isso também requer que a opção AutoToolboxPopulate esteja ativada. Como a resposta de @DaveF sugere.
Solução alternativa: não tenho certeza se isso funciona e não poderia tentar porque já resolvi meu problema, mas se você desmarcou o controle do usuário na caixa de diálogo Escolher itens ... , clique em OK e abra-o novamente e verifiquei o controle do usuário. Isso também pode funcionar.
fonte
Existem algumas maneiras.
Em seu projeto original, escolha Arquivo | Exportar modelo
Em seguida, selecione ItemTemplate e siga o assistente.
Mova seu UserControl para uma ClassLibrary separada (e corrija os namespaces etc.).
Adicione um ref à biblioteca de classes de projetos que precisam dele. Não se preocupe com o GAC nem nada, apenas o arquivo DLL.
Eu não aconselharia colocar um UserControl na caixa de ferramentas normal, mas isso pode ser feito. Veja a resposta de @Arseny
fonte
No meu caso, não consegui ver nenhum dos controles do projeto. Somente clicando com o botão direito na caixa de ferramentas e selecionando "Mostrar todos" eu os vi, mas ainda assim eles estavam desativados ...
Alterar o tipo de projeto do aplicativo do Windows para ClassLibrary fez a correção.
fonte
Pergunta básica se você estiver usando genéricos em seu controle de base. Se sim:
digamos que temos o controle:
MyComboDropDown não permitirá abrir o designer nele e não será mostrado na caixa de ferramentas. Por quê? Porque o controle básico ainda não está compilado - quando MyComboDropDown é compilado. Você pode modificar para este:
Depois de reconstruir e redefinir a caixa de ferramentas, deve ser possível ver MyComboDropDown no designer e também na caixa de ferramentas
fonte
O problema com meu designer era 32 vs 64 bits. Eu poderia adicionar o controle à caixa de ferramentas após seguir as instruções em Não é possível adicionar controles de assemblies de 64 bits à caixa de ferramentas ou Usar em designers no artigo MS KB do Visual Studio IDE .
fonte
Recompilar funcionou para mim!
fonte