6

ho fatto la mia classe di controllo eseguendo l'override di base controlla cioèAggiunta ToolBoxTab e ToolBoxItems in Visual Studio tramite un componente aggiuntivo

[ToolboxData("<{0}:TextBox runat=server></{0}:TextBox>")] 
public class MyTextBox:System.Web.UI.WebControls.TextBox 
{ 
    public string myProperty {get;set;} 
} 

ora la facilità d'uso, quello che faccio, è quello di aggiungere questi ignorato controlli nella finestra di ToolBox dello studio visivo.

Per fare ciò, lo faccio semplicemente.

  1. aggiungere una nuova scheda nel pannello degli strumenti della finestra per fare clic destro e "Aggiungi scheda"
  2. e poi io "Scegli gli elementi" (tasto destro del mouse) e puntare la dll della mia classe di controllo.

Tutti i controlli che ho sovrascritto, ad esempio TextBox, Button, Label, appaiono con il nuovo nome e l'icona. Tutto quello che devo fare è trascinarli e usarli.

Ora, c'è un modo, che i miei controlli vengano caricati automaticamente? Voglio dire che non voglio fare due passaggi sopra menzionati.

Vedere questo è quello che ho fatto.

  1. Aggiunto un add-in e nella sua Exec, fatto questo

    public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled) 
        { 
         handled = false; 
         if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault) 
         { 
          if(commandName == "testAddin.Connect.testAddin") 
          { 
           handled = true; 
           ToolBox tlBox = _applicationObject.ToolWindows.ToolBox; 
           ToolBoxTab tlBoxTab = null; 
           tlBoxTab = tlBox.ToolBoxTabs.Add("Test Controls"); 
    
    
           tlBoxTab.Activate(); 
           tlBoxTab.ToolBoxItems.Add("TestControls", @"C:\testLib.dll", vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent); 
    
         ///// 
         } 
    

... ma non accadde nulla. La scheda 'Controlli test' era lì ma non c'era controllo. Quando provo a fare lo stesso con System.Configuration.Install.dll (trovato nella cartella [root] /Windows/Microsoft.Net/Framework/ [dotnetVersion] /)) i controlli vengono caricati perfettamente ... ma non quando la mia abitudine la DLL di controllo viene puntata.

per favore aiutatemi. Voglio aggiungere quei controlli ogni volta che si avvia IDE (come i controlli di telegestione). Sono nuovo di questo estensibilità Tipo di progetto di Visual Studio ..

si prega di aiuto ....

+0

Nel caso in cui non l'abbia ancora provato, questo post (http://stackoverflow.com/questions/5977340/problem-in-adding-user-controls-to-toolbox-programatically) dice che è in esecuzione mentre l'amministratore lavora. – Gloopy

+0

Si consiglia di consultare la documentazione qui da MSDN per caricare automaticamente gli elementi nella cassetta degli attrezzi. http://msdn.microsoft.com/en-us/library/bb166237 – Nico

risposta

0

Dal momento che distribuirete il controllo utilizzando un programma di installazione, suggerirei di utilizzare lo Toolbox Controls Installer, fornito con Visual Studio SDK e facilmente integrabile in Wix; in questo modo, puoi creare il tuo progetto di installazione Wix, includere l'assembly e fare semplicemente riferimento all'azione personalizzata di cui sopra per la registrazione di toolbox.

Problemi correlati