Click here to Skip to main content
15,892,480 members
Articles / Programming Languages / Visual Basic

User Customizable ToolStrip with Drag and Drop

Rate me:
Please Sign up or sign in to vote.
4.74/5 (16 votes)
21 May 2010CPOL3 min read 78.5K   2K   71  
With this .NET library, you can implement a customize toolbar function in your application.
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>519, 17</value>
  </metadata>
  <metadata name="ContextMenuStrip3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>631, 17</value>
  </metadata>
  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  <data name="ToolStripDropDownButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgxJREFUOE+lkvtL
        U2EYx+0PEbtpFwnBKPGKiJImGP0gYhIYs1E5GF5gIxkpA00JRSmMEF0ohMh+GaRWYlqabMVcNdS2QpaI
        VqiDIYhk397vA6fXhCjyhYdzeM/5fp7vczkAdeL2cwho7v/wWzT1zcN+Pwhr51uY2/y41PQaF+wzKKiZ
        QvaN58g0jyLd5KEUcQbg+84P/Cm2tncQjW3j68YWIqubCC3FcOJc478BAuGoZM6zvoRnakXEruEIjhc4
        /g5gZop9c+voGAyLbQIfeBZxLL9BA1jzXvuGbWamuKh+GmmVbswE19A59FEBbmoAG7YbsLtm2mZmiml9
        cvabNDwpz6YB7LYBoMXCumkJr7LOmnnHzBQ/9X2Bo2cOibm1GsBREbAQiYmw/8lnuCeWkVzcgnZlnw1j
        3HV/wuNXK6i/9x5Hc6wawDlTXHbLJ+LZUBQPRyKwdQdxutwl1h+NLXHh5Ht1ewBHsiwawCW57HyDAfWR
        dvl0uhZQ1eqX8aVc7EKLqrum651ATLf9OJx5XQM4KmY0xPzZ0hFAiQJnXB0WwME0E3IsL5B17ZlADqWb
        NYDrOepdlcysmTWWOrxqbceRWtaLk0VO1XW72D5Vckd2gMBfq8zdpmUG62NJvKM4+XyziDk24xmfWoGE
        s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC
</value>
  </data>
  <metadata name="Setting.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>True</value>
  </metadata>
  <metadata name="Value.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>True</value>
  </metadata>
  <metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>265, 17</value>
  </metadata>
  <metadata name="ContextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>373, 17</value>
  </metadata>
  <metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
  <metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>119, 17</value>
  </metadata>
  <data name="ToolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAvxJREFUOE+tk9tP
        02cYx/kTTJZMo0vQGCZqS5VhAQ8xURJ08XS5xMQL9Wa6jXghIYihFMqhhR6Q2hLRAVra8msZLY5zixxa
        QVoOomK01cSRMPBiq1NYR5bPfvCreOPlnuSb7/O8yft5nzzv+yYl/R8RHp3A/utd6rwGzB4TZu/nVecx
        Yukw4e3yMBp4xPrZtr5GjJEqhL+c2GM2HLGWz8oZs2OL3cXwuByn4KCvxy9BLCEDzX834XrvovVDK8IH
        Yc0/arV2LjlpjDUiLLu5s1SPrbuJG1qLBKifqkW3UIV53kzd73WSFiQ3izItGLG+tvLwtyDNb5rRvdUg
        +O1Ul5okgHXKRH70KuqImuKoCnVUTUm0BFVEheqVioKZAp7NP2U1fK99XIn+QPuQi5qyWglwc1LPxenz
        XApf4nLoMhfCF/hp+kfypvM49+gcHVHv2uZ3yzEKQ9f4fvYi3pE29JoEwDBeQUZXOqZwLXNv56ger+aE
        /wSnBk9RFCwi/n6F+NI/lI+Vc7Qnh5OBXLyBtk8d1Ixq2NyyCY2vgsUXf/J8JkpBfwGZQjpDk0HmZhe5
        NdJAqn0H37j2cbBbSUfgl08z0A6r2e1IJb1FQdNwE/ORP5h9HmHo8QhvXi6IkACZbgUZ7WkonRkcvp+N
        R5yBrtQozaBioBiZI4VMj5y97duxTTRDHP5dgeVYnLN9p1H0JrO/K4197jQOdyhx+51o1XoJoO4tRCZs
        40C3jKzBFHb1foFlvIb4uxWqRq+za3ADh4KpZPt2oLy/UwRk4Oi5R1VJAqDpL+Rr90ayfClkBZPJntrC
        nrENnBnORBn6kv0zm8ke/4qswFbSO7dxsFOG0GOntKhS6sDjd/PdQA45QwpyxxQcC8v5dkbO0afbOf5k
        N8enZBwLycl9uIcjD+RoJvOx3LBiMCausb97gFan+FRdDTQKt9f086q33lmvpbUG7rWJT1hvRqdNtP/x
        R7ld7egra9GW6dFpDOjKDGIuupiveSKvVFdjsdav/8T/APOKZ0BdOZsJAAAAAElFTkSuQmCC
</value>
  </data>
  <data name="ToolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAslJREFUOE+9VOtL
        U3EYHn2Z27wc15xtOW//QRR9qKCgTxHGQOurlDmbOCyjEjWhm5AUhtLFjRTNWkSWSTRIuyCaGHNuuulE
        ZrS2hRguZ0VF+XTeX55tXlqjDw1e9p7ze37PeS/P+4pE/+MXDH2Cy2mFueU8qkt34VCeilmVfidum87A
        OfYahIkrFp//Hdpv1KAsXwpzfSpGu5WYs6rxYUiF4XsKdJxLQalWwjCEjUnqdjtwomgrjLUcgo4MfJ3K
        xHdPFjPyP49r8NGmhq9XicaKRIalO2uSejxu6Pdno68jjV3+8TYbi74cLPpzfxvv0zs6Czk2YqZPiceX
        k6EvyAbdXUYaDC2gqa4YXU1yfJvKwk9vDnZv4cKGQO6yZ8LMj6gR6FWgvUaGxgtFmJsPRUhH7YMoPyDF
        glPDoiAyIlnT+Gjp/MuEBrOv0jH1gINBmwDHyECEsO16NTob5CwdSu2PZEsfIQxhg1YVvBY5Wk5K0Xat
        KkJYWbIDbks6Kz7V66+EPIawlLbvqQIvG2UgjnAdi7UazAyq/pnQdlMG4lhG+L5/A0tDaEasKCllAee1
        rMewcQUhhTvWlcYKTU3BUuGjO73SF5oy/YjDs0sSVOq2RzWFL+jduhRWE0E2RCrIBYYSCEbE0bKZNCfB
        dEyM1quVEUJqeXmBBIEXSibaaGEzCa0ThY2eBWFPP+RgN0lRtk8Mu60/QkiiJHHeOZvEJoDGi8ZMGD2B
        lP7pjDBvulPhapPBdFS8WtjUHRqfkvxMPGlIhp+fgNmBdKYzKgMZkZGQ6czDR0ZknafF0GkzVo+e0G73
        hB3HD25Gg0GKyfscE62/R8GM/OkuDm6+ZrZmCS4eFqOicBMmxkdibxxhfenzEtgEPL8ig6s9Ec5WGXrq
        JTCWi3Fkb0J860uIlJanc3QIt5prcUq3DYV7FMzIp3d0FveCjWsLxwD9AlEj6PmNy1LfAAAAAElFTkSu
        QmCC
</value>
  </data>
  <data name="ToolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAq1JREFUOE+9VFtI
        U3EY9+1sO16ONmdbTp30HlH0UEFBTxHGQOtVytQmimVUoiZ0E5LCULq4keKyjMhaEglpF0QTQ+emUydj
        i2wzxHA5KyrKX+f7x9nmpTV8aPCxj+//+37nu8fE/I+fP/AZY45BtDVdQGXRbhzOUjOpMOzCHdNZOEbf
        gDBRxeL1vYf5ZhWKsxVoq03ESIcKc4MafBxQY+i+Eq3nE1CklzMMYSOSOp12nMzbBmO1AL89Fd9cafjh
        TmdC+pdxLT5ZNfB2q1BfFsuw5LMqqdvthOFABnpak5nzz3cZWPTqsOjL/COiTjZ6C9g3YKZHhSdX4mHI
        yQD5LiH1BxbQUJMPS0MSvrvS8WtKhz1bBSaYzgyKZCPM/LAG091KmKt41F/Mw9x8IEQ6YutH6UEFFhxa
        FkU4kaQHbWK0pH+d0GL2dQpcDwWU6GWwD/eFCFtuVKK9LomlQ6mFR7WaThjC+gfVmOpMQtMpBVquV4QI
        ywt3wtmZwopP9fonoYghLKXtfabEq3oexBGsY75ei5l+9ZoJrbd4EMcSwg+969eY8joMGZcRUrijlmRW
        aKkpUkcj/VNTPI8FPL8sR3nBjrCmiAW9V5PAakIjQSSbNvIRhTA0NpNtcTAd59B8rTxESC0vzZFj+qWK
        Da0U1d9IpXfPIwE2kwLF+znYrL0hQhpKGs675+LYBtB6hZNCJ46SKPQByf62IxFjLTxMx7iVg03dofUp
        zE7D07p4+MRUZvtSgs7L6+gWIyOy9jMcCvSpK1dPardzwoYTh7agrkSByQcCG1pfl5IJ6R6LAKdYM2uj
        HJeOcCjL3YyJ8eHIF0c6X4YsGduAF1d5jJlj4Wjm0VUrh7GUw9F9sujOlxQpHU/HyABuN1bjdMF25O5V
        MiGdbPQW9YGN6gpHAP0GEsjJl46/f84AAAAASUVORK5CYII=
</value>
  </data>
  <data name="ToolStripDropDownButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgxJREFUOE+lkvtL
        U2EYx+0PEbtpFwnBKPGKiJImGP0gYhIYs1E5GF5gIxkpA00JRSmMEF0ohMh+GaRWYlqabMVcNdS2QpaI
        VqiDIYhk397vA6fXhCjyhYdzeM/5fp7vczkAdeL2cwho7v/wWzT1zcN+Pwhr51uY2/y41PQaF+wzKKiZ
        QvaN58g0jyLd5KEUcQbg+84P/Cm2tncQjW3j68YWIqubCC3FcOJc478BAuGoZM6zvoRnakXEruEIjhc4
        /g5gZop9c+voGAyLbQIfeBZxLL9BA1jzXvuGbWamuKh+GmmVbswE19A59FEBbmoAG7YbsLtm2mZmiml9
        cvabNDwpz6YB7LYBoMXCumkJr7LOmnnHzBQ/9X2Bo2cOibm1GsBREbAQiYmw/8lnuCeWkVzcgnZlnw1j
        3HV/wuNXK6i/9x5Hc6wawDlTXHbLJ+LZUBQPRyKwdQdxutwl1h+NLXHh5Ht1ewBHsiwawCW57HyDAfWR
        dvl0uhZQ1eqX8aVc7EKLqrum651ATLf9OJx5XQM4KmY0xPzZ0hFAiQJnXB0WwME0E3IsL5B17ZlADqWb
        NYDrOepdlcysmTWWOrxqbceRWtaLk0VO1XW72D5Vckd2gMBfq8zdpmUG62NJvKM4+XyziDk24xmfWoGE
        s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC
</value>
  </data>
  <metadata name="Setting.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>True</value>
  </metadata>
  <metadata name="Value.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>True</value>
  </metadata>
  <data name="TestToolStripMenuItem3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        R0lGODlhEAALANUAAP//////9//37//39//35v/v3v/v5v/v1v/m3v/mzv/mxf/ezv/etffezv/evf/e
        rf/WrffWvffWxf/WnP/OlP/OnPfOtffOrffFpffFrf/FhPe9pfe9nP+9e/+9a/+9c/e1jP+1a/+1Y/et
        hPete/+tUv+tQvele/elc++lc/+lQv+lOv+lMf+cKf+cIe+UY/+UEP+UGe+MUv+MCP+MAO+EQu+ESu97
        Me97Ou9zKe9rGe9rIeZrGe9jGeZjEP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBwA/ACwAAAIAEAAH
        AAAGXMAOrKOJfWYtVslRqVBaFJhAFSOoBoUEZCYStQ6xWUAwG3wIYUHH4SgZwgPKxxwoKCaEgiHBMJVn
        AmZoKzQBDBAALQ9/HwAfdQpiFB4AND9HHx40HkgrRx6aHj9BACH5BAUHAD8ALAAAAgAQAAcAAAZTwNFu
        BMqRdLfaS4LBcHCc3U+Wm/4QjYsOhcIhcrrfL0z6gX+jSORlDnPKZSzmKo7IwuFfOWfr/SIZPzcWeHBX
        DW4nPz56OiQoPig8NzZHKZAoP0EAIfkECQcAPwAsAAACABAABwAABlHADqyjiX1mLVbJUalQWhTYTxWb
        /goJyEwkah1is98v/PmBfx2Ho2QOU8rlgmJyFTNM4fCvHFvRfgwQPy0PeXBXCm4eP39HHx40HkgrRx6Q
        i0EAOw==
</value>
  </data>
  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>60</value>
  </metadata>
</root>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Netherlands Netherlands
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions