Welcome to ComponentOne BarCode for .NET

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Welcome to ComponentOne BarCode for .NET

Welcome to ComponentOne BarCode™ for .NET. BarCode for .NET (C1BarCode) allows you to add barcode images to grid cells, web pages, or regular .NET PrintDocument objects.

ComponentOne has a user-friendly distribution policy. We want every programmer to obtain a copy of BarCode for .NET to try for as long as they wish. Those who like the product and find it useful may buy a license for a reasonable price. The only restriction is that unlicensed copies of BarCode for .NET will display a ComponentOne banner every time they are loaded to remind developers to license the product.

We are confident that you will like BarCode for .NET. If you have any suggestions or ideas for new features that you'd like to see included in a future version, or ideas for new controls, please call us or write:

Corporate Headquarters

ComponentOne LLC
201 South Highland Avenue
3rd Floor
Pittsburgh, PA 15206 • USA
412.681.4343
412.681.4384 (Fax)

http://www.componentone.com

END-USER LICENSE AGREEMENT FOR COMPONENTONE SOFTWARE

Licensing FAQs

Technical Support

Redistributable Files

Namespaces

Creating a .NET Project

Adding the C1BarCode Component to the Toolbox


END-USER LICENSE AGREEMENT FOR COMPONENTONE SOFTWARE

END-USER LICENSE AGREEMENT FOR COMPONENTONE SOFTWARE

IMPORTANT-READ CAREFULLY: This End User License Agreement (this "EULA") contains the terms and conditions regarding your use of the SOFTWARE (as defined below). This EULA contains material limitations to your rights in that regard. You should read this EULA carefully and treat it as valuable property.

I. THIS EULA.

1. Software Covered by this EULA. This EULA governs your use of the ComponentOne, LLC ("C1") software product(s) enclosed or otherwise accompanied herewith (individually and collectively, the "SOFTWARE"). The term "SOFTWARE" includes, to the extent provided by C1: 1) any revisions, updates and/or upgrades thereto; 2) any data, image or executable files, databases, data engines, computer software, or similar items customarily used or distributed with computer software products; 3) anything in any form whatsoever intended to be used with or in conjunction with the SOFTWARE; and 4) any associated media, documentation (including physical, electronic and on-line) and printed materials (the "Documentation").

2. This EULA is a Legally Binding Agreement Between You and C1. If you are acting as an agent of a company or another legal person, such as an officer or other employee acting for your employer, then "you" and "your" mean your principal, the entity or other legal person for whom you are acting. However, importantly, even if you are acting as an agent for another, you may still be personally liable for violation of federal and State laws, such as copyright infringement.

This EULA is a legally binding agreement between you and C1. You intend to be legally bound to this EULA to the same extent as if C1 and you physically signed this EULA. By installing, copying, or otherwise using the SOFTWARE, you agree to be bound by the terms and conditions contained in this EULA. If you do not agree to all of the terms and conditions contained in this EULA, you may not install or use the SOFTWARE. If, for whatever reason, installation has begun or has been completed, you should cancel installation or un-install the SOFTWARE, as the case may be. (You may click on the "exit" button or its equivalent to immediately abort installation.) If you do not agree to all of these terms and conditions, then you must promptly return the SOFTWARE to the place of business from which you obtained it in accordance with any return policies of such place of business. Return policies may vary between or among resellers, and you must comply with your particular reseller's return policies as agreed at the point of purchase. If the place of business from which you purchased the SOFTWARE does not honor a complete refund for a period of thirty (30) days from the date of proof of purchase, then you may return the SOFTWARE directly to C1 for a period of thirty (30) days from the date of your purchase. To return the product directly to C1, you must obtain a C1 Return Authorization Number by contacting C1, and you must forward all items purchased, including the proof of purchase, directly to C1. The return must be postage-prepaid, and post-marked within thirty (30) days from the proof of purchase, time being of the essence. The return option to C1 is only available to the original purchaser of an unopened factory packaged item.

II. YOUR LICENSE TO DEVELOP AND TO DISTRIBUTE.

As provided in more detail below, this EULA grants you two licenses: 1) a license to use the SOFTWARE to develop other software products (the "Development License"); and 2) a license to use and/or distribute the Developed Software (the "Distribution License"). Both of these licenses (individually and collectively, the "Licenses") are explained and defined in more detail below.

1. Definitions. The following terms have the respective meanings as used in this EULA:

"Network Server" means a computer with one or more computer central processing units (CPU's) that operates for the purpose of serving other computers logically or physically connected to it, including, but not limited to, other computers connected to it on an internal network, intranet or the Internet. "Web Server" means a type of Network Server that serves other computers more particularly connected to it over an intranet or the Internet.

"Developed Software" means those computer software products that are developed by or through the use of the SOFTWARE. "Developed Web Server Software" means those Developed Software products that reside logically or physically on at least one Web Server and are operated (meaning the computer software instruction set is carried out) by the Web Server's central processing unit(s) (CPU). "Developed Legacy Software" means those Developed Software products that are not Developed Web Server Software, including, for example, stand-alone applications and applications accessed by a file server only. "Redistributable Files" means the SOFTWARE files or other portions of the SOFTWARE that are provided by C1 and are identified as such in the Documentation for distribution by you with the Developed Software. "Developer" means a human being or any other automated device using the SOFTWARE in accordance with the terms and conditions of this EULA.

"Developer Seat License" means that each Developer using or otherwise accessing the programmatic interface or the SOFTWARE must obtain the right to do so by purchasing a separate End User License.

“Source Code” shall mean computer software code or programs in human readable format, such as a printed listing of such a program written in a high-level computer language. The term "Source Code" includes, but is not limited to, documents and materials in support of the development effort of the SOFTWARE, such as flow charts, pseudo code and program notes.

2. Your Development License. You are hereby granted a limited, royalty-free, non-exclusive right to use the SOFTWARE to design, develop, and test Developed Software, on the express condition that, and only for so long as, you fully comply with all terms and conditions of this EULA.

The SOFTWARE is licensed to you on a Developer Seat License basis.

The Developer Seat License means that you may perform an installation of the SOFTWARE for use in designing, testing and creating Developed Software by a single Developer on one or more computers, each with a single set of input devices, so long as such computer/computers is/are used only by one single Developer at any given time and not concurrently. Conversely, you may not install or use the SOFTWARE on a computer that is a network server or a computer at which the SOFTWARE is used by more than one Developer. You may not network the SOFTWARE or any component part of it, where it is or may be used by more than one Developer unless you purchase an additional Development License for each Developer. You must purchase another separate license to the SOFTWARE in order to add additional developer seats, whether the additional developers are accessing the SOFTWARE in a stand-alone environment or on a computer network.

In all cases, you may not use C1's name, logo, or trademarks to market your Developed Software without the express written consent of C1; (b) you must include the following C1 copyright notice in your Developed Software documentation and/or in the "About Box" of your Developed Software, and wherever the copyright/rights notice is located in the Developed Software (“Portions Copyright © ComponentOne, LLC 1991-2002. All Rights Reserved.”); (c) agree to indemnify, hold harmless, and defend C1, its suppliers and resellers, from and against any claims or lawsuits, including attorney's fees that may arise from the use or distribution of your Developed Software; (d) you may use the SOFTWARE only to create Developed Software that is significantly different than the SOFTWARE.

3. Your Distribution License.

License to Distribute Developed Software. Subject to the terms and conditions in this EULA, you are granted the license to use and to distribute Developed Software on a royalty-free basis, provided that the Developed Software incorporates the SOFTWARE as an integral part of the Developed Software in machine-language compiled format (customarily an ".exe", or ".dll", etc.). You may not distribute, bundle, wrap or subclass the SOFTWARE as Developed Software which, when used in a "designtime" development environment, exposes the programmatic interface of the SOFTWARE. You may distribute, on a royalty-free basis, Redistributable Files with Developed Software only.

4. Specific Product Limitations. Notwithstanding anything in this EULA to the contrary, if the license you have purchased is for any of the following products, then the following additional limitations will apply:

a. ComponentOne Reports for .NET Designer Edition. ComponentOne Reports for .NET Designer Edition includes at least: 1) one dynamic link library (c1.win.c1reportdesigner.dll) file known as C1ReportDesigner Component, 2) one executable (ReportDesigner.exe) file known as C1ReportDesigner Application and, 3) the Source Code of the C1ReportDesigner Application. The C1ReportDesigner Component is subject to the general terms and restrictions set forth in this EULA. The C1ReportDesigner Application is an executable file used to design and prepare reports; the C1ReportDesigner Application may be distributed, free of royalties, only in conjunction with the Developed Software.

Subject to the terms and conditions in this EULA, C1 hereby grants you the right to use the C1ReportDesigner Application Source Code. You are hereby also granted the right to modify such Source Code and to create derivative works that are based on the licensed Source Code. You may distribute the derivative works that you develop, solely in object code format and exclusively in conjunction with and/or as a part of the Developed Software. You are expressly not granted the right to distribute, disclose or otherwise make available to any third party the licensed Source Code, any modified version, derivative work, or any portion thereof, in source code format.

C1 shall retain all right, title and interest in and to the licensed Source Code, and all C1 updates, modifications or enhancements thereof. Nothing herein shall be deemed to transfer any ownership or title rights in and to the licensed Source Code from C1 to you.

SOURCE CODE IS LICENSED TO YOU AS IS. C1 DOES NOT AND SHALL NOT PROVIDE YOU WITH ANY TECHNICAL SUPPORT FOR YOUR SOURCE CODE LICENSE.

b. VSView Reporting Edition. VSView Reporting Edition includes at least one executable file listed as “VSRptX.exe” (where X indicates the version number i.e.7,8, etc.), known as “Designer.” The file "VSRptX.exe”, or any upgrade or future versions of the Designer, are subject to the restrictions set forth in this EULA and may not be distributed with your Developed Software or in any other way.

c. Doc-to-Help and ComponentOne Natural Search. You may use Doc-To-Help to create online help, manuals or other documentation in electronic or printed format (the "Output Documents"). You may distribute and incorporate in such Output Documents those files identified in the documentation as Redistributable Files. Except for those specific Redistributable Files, you MAY NOT distribute the SOFTWARE, in any format, to others.

d. Studio Products. You may not share the component parts of the Studio Products licensed to you with other Developers, nor may you allow the use and/or installation of such components by other Developers.

e. ComponentOne Response and SOAP Channel. ComponentOne Response is intended to be installed on a Network Server. C1 grants to you the following rights to the SOFTWARE: a) Installation: You may install one copy of the SOFTWARE on a single Network Server; b) Use: When installed and initialized, the SOFTWARE creates a database file which contains the embodiment of a solution knowledge base (the database hereinafter referred to as the "Knowledge Base").

You may use the SOFTWARE to create Knowledge Bases on one Network Server only. To create or to operate Knowledge Bases in more than one Network Server, you must purchase one additional SOFTWARE license for each additional Network Server.

5. Updates/Upgrades; Studio Subscription. Subject to the terms and conditions of this EULA, the Licenses are perpetual. Updates and upgrades to the SOFTWARE may be provided by C1 from time-to-time, and, if so provided by C1, are provided upon the terms and conditions offered at that time by C1 in its sole discretion. C1 may provide updates and upgrades to the SOFTWARE for free or for any charge, at any time or never, and through its chosen manner of access and distribution, all in C1's sole and complete discretion.

C1 licenses certain of its separately-licensed products bundled together in a product suite, called the C1 "Studio" product line (the "Studio Products"). The exact separately-licensed products that are bundled into the Studio Products may change from time-to-time in C1's sole discretion. If the SOFTWARE is identified as a C1 "Studio" product, then the SOFTWARE is one of the Studio Products. The SOFTWARE and the Studio Products are revised from time-to-time (meaning, for example, revised with updates, upgrades and, in the case of Studio products, possibly changes to which specific products are included in the bundle). For you to be entitled to receive any such revisions to the SOFTWARE or the Studio Products, as the case may be, you must have a valid SOFTWARE license or a valid Studio subscription. The original purchaser of the SOFTWARE or of a Studio product receives a one-year subscription from the date of purchase of the SOFTWARE. After one year, the Studio subscription and/or the SOFTWARE license must be renewed to continue to be entitled to receive the SOFTWARE and/or the Studio Products revisions as the case may be.

6. Serial Number. Within the packaging of the SOFTWARE, a unique serial number (the "Serial Number") is included, which allows for the registration of the SOFTWARE. The Serial Number is subject to the restrictions set forth in this EULA and may not be disclosed or distributed either with your Developed Software or in any other way. The disclosure or distribution of the Serial Number shall constitute a breach of this EULA, the effect of which shall be the automatic termination and revocation of all the rights granted herein.

7. Evaluation Copy. If you are using an "evaluation copy" or similar version, specifically designated as such by C1 on its website or otherwise, then the Licenses are limited as follows: a) you are granted a license to use the SOFTWARE for a period of thirty (30) days counted from the day of installation (the "Evaluation Period"); b) upon completion of the Evaluation Period, you shall either i) delete the SOFTWARE from the computer containing the installation, or you may ii) contact C1 or one of its authorized dealers to purchase a license of the SOFTWARE, which is subject to the terms and limitations contained herein; and c) any Developed Software may not be distributed or used for any commercial purpose.

III. INTELLECTUAL PROPERTY.

1. Copyright. You agree that all right, title, and interest in and to the SOFTWARE (including, but not limited to, any images, photographs, animations, video, audio, music, text, and “applets” incorporated into the SOFTWARE), and any copies of the SOFTWARE, and any copyrights and other intellectual properties therein or related thereto are owned exclusively by C1, except to the limited extent that C1 may be the rightful license holder of certain third-party technologies incorporated into the SOFTWARE. The SOFTWARE is protected by copyright laws and international treaty provisions. The SOFTWARE is licensed to you, not sold to you. C1 reserves all rights not otherwise expressly and specifically granted to you in this EULA.

2. Backups. You may either: (a) copy the SOFTWARE solely for backup or archival purposes; or (b) install the SOFTWARE on a single computer, provided you keep the original solely for backup or archival purposes. Notwithstanding the foregoing, you may not copy the Documentation.

3. General Limitations. You may not reverse engineer, decompile, or disassemble the SOFTWARE, except and only to the extent that applicable law expressly permits such activity notwithstanding this limitation.

4. Software Transfers. You may not rent or lease the SOFTWARE. You may transfer the SOFTWARE to another computer, provided that it is completely removed from the computer from which it was transferred. You may permanently transfer all of your rights under the EULA, provided that you retain no copies, that you transfer all the SOFTWARE (including all component parts, the media and printed materials, any dates, upgrades, this EULA and, if applicable, the Certificate of Authenticity), and that the recipient agrees to the terms and conditions of this EULA as provided herein. If the SOFTWARE is an update or upgrade, any transfer must include all prior versions of the SOFTWARE.

5. Termination. Without prejudice to any other rights it may have, C1 may terminate this EULA and the Licenses if you fail to comply with the terms and conditions contained herein. In such an event, you must destroy all copies of the SOFTWARE and all of its component parts.

6. Export Restrictions. You acknowledge that the SOFTWARE is of U.S. origin. You acknowledge that the license and distribution of the SOFTWARE is subject to the export control laws and regulations of the United States of America, and any amendments thereof, which restrict exports and re-exports of software, technical data, and direct products of technical data, including services and Developed Software. You agree that you will not export or re-export the SOFTWARE or any Developed Software, or any information, documentation and/or printed materials related thereto, directly or indirectly, without first obtaining permission to do so as required from the United States of America Department of Commerce's Bureau of Export Administration ("BXA"), or other appropriate governmental agencies, to any countries, end-users, or for any end-uses that are restricted by U.S. export laws and regulations, and any amendments thereof, which include, but are not limited to, the following:

Restricted Countries: Restricted Countries currently include, but are not necessarily limited to Cuba, Iran, Iraq, Libya, Montenegro, North Korea, Serbia, Sudan, and Syria.

Restricted End-Users: Any End-User whom you know or have reason to know will use SOFTWARE or Developed Software in the design, development, or production of missiles and missile technology, nuclear weapons and weapons technology, or chemical and biological weapons. Any national of any of the Restricted Countries, wherever located, who intends to transmit or transport the SOFTWARE or Developed Software to one of the Restricted Countries.

Restricted End-Uses: Any use of SOFTWARE and Developed Software related to the design, development, or production of missiles and missile technology, nuclear weapons and weapons technology, or chemical and biological weapons.

These restrictions change from time to time. You represent and warrant that neither the BXA nor any other United States federal agency has suspended, revoked or denied your export privileges. C1 acknowledges that it shall use reasonable efforts to supply you with all reasonably necessary information regarding the SOFTWARE and its business to enable you to fully comply with the provisions of this Section. If you have any questions regarding your obligations under United States of America export regulations, you should contact the Bureau of Export Administration, United States Department of Commerce, Exporter Counseling Division, Washington DC. U.S.A. (202) 482-4811, http://www.bxa.doc.gov.

7. U.S. Government Restricted Rights. The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. For solicitations issued before December 1, 1995, by the United States of America, its agencies and/or instrumentalities (the "Government"), other than the Department of Defense, the use, duplication or disclosure of the software and documentation provided to the Government under this EULA shall be subject to the RESTRICTED RIGHTS as set forth in subparagraphs (c)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at 48 CFR ch.1 52.227-19. For solicitations issued before September 29, 1995, by the Department of Defense, the use, duplication or disclosure of the software and documentation provided under this EULA shall be subject to the RESTRICTED RIGHTS as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at 48 CFR ch.2 252.227-7013. You will comply with any requirements of the Government to obtain such RESTRICTED RIGHTS protection, including without limitation, the placement of any restrictive legends on the SOFTWARE, and any license agreement used in connection with the distribution of the SOFTWARE. Manufacturer is ComponentOne, LLC, 4516 Henry Street, Suite 501, Pittsburgh, Pennsylvania 15213 USA. For solicitations issued by the Government on or after December 1, 1995 and the Department of Defense on or after September 29, 1995, the only rights provided in the software and documentation provided herein shall be those contained in this EULA. Under no circumstances shall C1 be obligated to comply with any Governmental requirements regarding the submission of or the request for exemption from submission of cost or pricing data or cost accounting requirements. For any distribution of the SOFTWARE that would require compliance by C1 with the Government's requirements relating to cost or pricing data or cost accounting requirements, you must obtain an appropriate waiver or exemption from such requirements for the benefit of C1 from the appropriate Government authority before the distribution and/or license of the SOFTWARE to the Government.

IV. WARRANTIES AND REMEDIES.

1. Limited Warranty. C1 warrants that the original media, if any, are free from defects for ninety (90) days from the date of delivery of the SOFTWARE. EXCEPT AS OTHERWISE PROVIDED IN THE PRECEDING SENTENCE, AND TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, C1 EXPRESSLY DISCLAIMS ANY WARRANTY FOR THE SOFTWARE, DOCUMENTATION AND ANYTHING ELSE PROVIDED BY C1 HEREBY AND C1 PROVIDES THE SAME IN “AS IS” CONDITION WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE AND DOCUMENTATION REMAINS WITH YOU. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU MAY HAVE OTHERS WHICH VARY FROM STATE TO STATE.

2. Limited Remedy. C1's entire liability and your exclusive remedy under this EULA shall be, at C1's sole option, either (a) return of the price paid for the SOFTWARE; (b) repair the SOFTWARE through updates distributed online or otherwise in C1's discretion; or (c) replace the SOFTWARE with SOFTWARE that substantially performs as described in the SOFTWARE documentation, provided that you return the SOFTWARE in the same manner as provided in Section I.2 for return of the SOFTWARE for non-acceptance of this EULA. Any media for any repaired or replacement SOFTWARE will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. THESE REMEDIES ARE NOT AVAILABLE OUTSIDE OF THE UNITED STATES OF AMERICA. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL C1 BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFIT, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE, EVEN IF C1 HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES IN CERTAIN CASES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

V. MISCELLANEOUS.

1. This is the Entire Agreement. This EULA (including any addendum or amendment to this EULA included with the SOFTWARE) is the final, complete and exclusive statement of the entire agreement between you and C1 relating to the SOFTWARE. This EULA supersedes any prior and contemporaneous proposals, purchase orders, advertisements, and all other communications in relation to the subject matter of this EULA, whether oral or written. No terms or conditions, other than those contained in this EULA, and no other understanding or agreement which in any way modifies these terms and conditions, shall be binding upon the parties unless entered into in writing executed between the parties, or by other non-oral manner of agreement whereby the parties objectively and definitively act in a manner to be bound (such as by continuing with an installation of the SOFTWARE, "clicking-through" a questionnaire, etc.) Employees, agents and other representatives of C1 are not permitted to orally modify this EULA.

2. You Indemnify C1. . You agree to indemnify, hold harmless, and defend C1 and its suppliers and resellers from and against any and all claims or lawsuits, including attorney's fees, which arise out of or result from your breach of any of the terms and conditions of this EULA.

3. Interpretation of this EULA. If for any reason a court of competent jurisdiction finds any provision of this EULA, or any portion thereof, to be unenforceable, that provision of this EULA will be enforced to the maximum extent permissible so as to effect the intent of the parties, and the remainder of this EULA will continue in full force and effect. Formatives of defined terms shall have the same meaning of the defined term. Failure by either party to enforce any provision of this EULA will not be deemed a waiver of future enforcement of that or any other provision. Except as otherwise required or superseded by law, this EULA is governed by the laws of the Commonwealth of Pennsylvania, without regard to its conflict of laws principles. The parties consent to the personal jurisdiction and venue of the Commonwealth of Pennsylvania, in the County of Allegheny, and agree that any legal proceedings arising out of this EULA shall be conducted solely in such Commonwealth. If the SOFTWARE was acquired outside the United States, then local law may apply.


Licensing FAQs

Licensing FAQs

This section describes the main technical aspects of licensing. It may help the user to understand and resolve licensing problems he may experience when using ComponentOne .NET and ASP.NET products.

What is Licensing?

How does Licensing Work?

Common Scenarios

Troubleshooting


What is Licensing?

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

What is Licensing?

Licensing is a mechanism used to protect intellectual property by ensuring that users are authorized to use software products.

Licensing is not only used to prevent illegal distribution of software products. Many software vendors, including ComponentOne, use licensing to allow potential users to test products before they decide to purchase them.

Without licensing, this type of distribution would not be practical for the vendor or convenient for the user. Vendors would either have to distribute evaluation software with limited functionality, or shift the burden of managing software licenses to customers, who could easily forget that the software being used is an evaluation version and has not been purchased.


How does Licensing Work?

How does Licensing Work?

ComponentOne uses a licensing model based on the standard set by Microsoft, which works with all types of components.

When a user decides to purchase a product, he receives an installation program and a Serial Number. During the installation process, the user is prompted for the serial number that is saved on the system. (Users can also enter the serial number by clicking the "License" button on the About Box of any ComponentOne product.)

When a licensed component is added to a form or web page, Visual Studio asks the newly created component for licensing information. The component looks for licensing information stored in the system and generates a key, which Visual Studio saves in two files:

1. a "<projectName>.licenses" resource file which contains the actual key and

2. a "licenses.licx" file that contains references to those resources.

These files are automatically added to the project.

Note that the licenses.licx file is usually not shown in the Solution Explorer; it appears if you press the "Show All Files" button in the Solution Explorer's toolbox, or select "Project | Show All Files" from Visual Studio's main menu.

Later, when the component is created at run time, it gets passed the key that was created at design time and can decide whether to simply accept the key, to throw an exception and fail altogether, or to display some information reminding the user that the software has not been licensed.

All ComponentOne products are designed to display licensing information if the product is not licensed. None will throw licensing exceptions and prevent applications from running.


Common Scenarios

Common Scenarios

Creating components at design time

Creating components at run time

Inheriting from licensed components

Using licensed components in console applications

Using licensed components in Visual C++ applications


Creating components at design time

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Creating components at design time

This is the most common scenario and also the simplest: the user adds one or more controls to the form, the licensing information is stored in the licenses.licx file, and the component works.

Note that the mechanism is exactly the same for Windows Forms and Web Forms (ASP.NET) projects.


Creating components at run time

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Creating components at run time

This is also a fairly common scenario. You do not need an instance of the component on the form, but would like to create one or more instances at run time.

In this case, the project will not contain a licenses.licx file (or the file will not contain an appropriate key for the component) and therefore licensing will fail.

To fix this problem, add an instance of the component to a form in the project. This will create the licenses.licx file and things will then work as expected. (The component can be removed from the form after the licenses.licx file has been created).


Inheriting from licensed components

Inheriting from licensed components

If a component that inherits from a licensed component is created, the licensing information to be stored in the form is still needed. This can be done in two ways:

· Add a LicenseProvider attribute to the component.

This will mark the component as licensed. When a component is added to a form, Visual Studio will create and manage the licenses.licx file, and the base class will handle the licensing process as usual. No additional work is needed. For example:

[LicenseProvider(typeof(LicenseProvider))]

class MyGrid: C1.Win.C1FlexGrid.C1FlexGrid

{

// ...

}

· Add an instance of the base component to the form.

This will embed the licensing information into the licenses.licx file as in the previous scenario, and the base component will find it and use it. As before, the extra instance can be deleted after the licenses.licx file has been created.


Using licensed components in console applications

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Using licensed components in console applications

When building console applications, there are no forms to add components to, and therefore Visual Studio won't create a licenses.licx file.

In these cases, create a temporary Windows Forms application and add all the desired licensed components to a form. Then close the Windows Forms application and copy the licenses.licx file into the console application project.

Make sure the licensex.licx file is configured as an embedded resource. To do this, right-click the licenses.licx file in the Solution Explorer window and select Properties. In the property window, set the "Build Action" property to "Embedded Resource".


Using licensed components in Visual C++ applications

Using licensed components in Visual C++ applications

It seems there is a bug in VC++ 2003. The licenses.licx is ignored during the build process, therefore the licensing information is not included in VC++ applications.

To fix this problem, extra steps must be taken to compile the licensing resources and link them to the project. Note the following:

1. Build the C++ project as usual. This should create an exe file and also a licenses.licx file with licensing information in it.

2. Copy the licenses.licx file from the app directory to the target folder (Debug or Release).

3. Copy the C1Lc.exe utility and the licensed dlls to the target folder. (Don't use the standard lc.exe, it has bugs.)

4. Use C1Lc.exe to compile the licenses.licx file. The command line should look like this:

c1lc /target:MyApp.exe /complist:licenses.licx /i:C1.Win.C1FlexGrid.dll

5. Link the licenses into the project. To do this, go back to Visual Studio, right-click the project, select properties, and go to the Linker/Command Line option. Enter the following:

/ASSEMBLYRESOURCE:Debug\MyApp.exe.licenses

6. Rebuild the executable to include the licensing information in the application.


Troubleshooting

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Troubleshooting

We try very hard to make the licensing mechanism as unobtrusive as possible, but problems may occur for a number of reasons.

Below is a description of the most common problems and their solutions.


I have a licensed version of a ComponentOne product but I still get the splash screen when I run my project.

I have a licensed version of a ComponentOne product but I still get the splash screen when I run my project.

If this happens, there must be a problem with the licenses.licx file in the project. It either doesn't exist, contains wrong information, or is not configured correctly.

First, try a full rebuild ("Rebuild All" from the Visual Studio Build menu). This will usually rebuild the correct licensing resources.

If that fails, follow these steps:

1. Open the project and go to the Solution Explorer window.

2. Click the "Show All Files" button on the top of the window.

3. Find the licenses.licx file and delete it.

4. Close the project and reopen it.

5. Open the main form and add an instance of each licensed control.

6. Check the Solution Explorer window, there should be a licenses.licx file there.

7. Rebuild the project using the "Rebuild All" option (not just "Rebuild").


I have a licensed version of a ComponentOne product on my web server but the components still behave as unlicensed.

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

I have a licensed version of a ComponentOne product on my web server but the components still behave as unlicensed.

There is no need to install any licenses on machines used as servers and not used for development.

The components must be licensed on the development machine, therefore the licensing information will be saved into the executable (exe or dll) when the project is built. After that, the application can be deployed on any machine, including web servers.


I downloaded a new build of a component that I have purchased, and now I'm getting the splash screen when I build my projects.

I downloaded a new build of a component that I have purchased, and now I'm getting the splash screen when I build my projects.

Make sure that the license key is still valid. If you licensed the component over a year ago, your subscription may have expired. In this case, you have two options:

Option 1 - Renew your subscription to get a new license key.

If you choose this option, you will receive a new key that you can use to license the new components (from the installation utility or directly from the About Box).

The new subscription will entitle you to a full year of upgrades and to download the latest maintenance builds directly from http://prerelease.componentone.com/.

Option 2 – Continue to use the components you have.

Subscriptions expire, products do not. You can continue to use the components you received or downloaded while your subscription was valid.


Technical Support

Technical Support

BarCode for .NET is developed and supported by ComponentOne LLC, a company formed by the merger of APEX Software Corporation and VideoSoft. You can obtain technical support using any of the following methods:

ComponentOne Web Site

Internet e-mail

Peer-to-Peer newsgroup

Documentation


ComponentOne Web Site

ComponentOne Web Site

The ComponentOne Web site at www.componentone.com provides a wealth of information and software downloads for BarCode for .NET users, including:

· Descriptions of the various support options available through the ComponentOne Service Team.

· Answers to frequently asked questions (FAQ's) about our products, organized by functionality. Please consult the FAQ's before contacting us directly, as this can save you time and also introduce you to other useful information pertaining to our products.

· Free product updates, which provide you with bug fixes and new features.


Internet e-mail

Internet e-mail

For technical support through the Internet, e-mail us at:

support@componentone.com

To help us provide you with the best support, please include the following information when contacting ComponentOne:

· Your ComponentOne product serial number.

· The version and name of your operating system.

· Your development environment and its version.

For more information on technical support, go to:

www.componentone.com/support


Peer-to-Peer newsgroup

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Peer-to-Peer newsgroup

ComponentOne also sponsors peer-to-peer newsgroups for users. ComponentOne does not offer formal technical support in this newsgroup, but instead sponsors it as a forum for users to post and answer each other's questions regarding our products. However, ComponentOne may monitor the newsgroups to ensure accuracy of information and provide comments when necessary. You can access the newsgroup from the ComponentOne Web site at www.componentone.com/newsgroups.


Documentation

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Documentation

ComponentOne documentation is available with each of our products in HTML Help, Microsoft Help 2.0 (.NET, ASP.NET and Mobile Device products only), and PDF format. All of the PDFs are also available on our Web site. If you have suggestions on how we can improve our documentation, please email the Documentation team. Please note that e-mail sent to the Documentation team is for documentation feedback only. Technical Support and Sales issues should be sent directly to their respective departments.


Redistributable Files

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Redistributable Files

ComponentOne BarCode for .NET is developed and published by ComponentOne LLC. You may use it to develop applications in conjunction with Microsoft Visual Studio or any other programming environment that enables the user to use and integrate the control(s). You may also distribute, free of royalties, the following Redistributable Files with any such application you develop to the extent that they are used separately on a single CPU on the client/workstation side of the network:

· C1.Win.C1BarCode.dll

Site licenses are available for groups of multiple developers. Please contact Sales@ComponentOne.com for details.


Namespaces

Namespaces

Namespaces organize the objects defined in an assembly. Assemblies can contain multiple namespaces, which can in turn contain other namespaces. Namespaces prevent ambiguity and simplify references when using large groups of objects such as class libraries.

The namespace for the C1BarCode component is C1.Win.C1BarCode. The following code fragment shows how to declare a C1BarCode component using the fully qualified name for this class:

· Visual Basic

· C#

· Delphi

Namespaces address a problem sometimes known as namespace pollution, in which the developer of a class library is hampered by the use of similar names in another library. These conflicts with existing components are sometimes called name collisions.

For example, if you create a new class named C1BarCode, you can use it inside your project without qualification. However, the C1BarCode assembly also implements a class called C1BarCode. So, if you want to use the C1BarCode class in the same project, you must use a fully qualified reference to make the reference unique. If the reference is not unique, Visual Studio .NET produces an error stating that the name is ambiguous. The following code snippet demonstrates how to declare these objects:

· Visual Basic

· C#

· Delphi

Fully qualified names are object references that are prefixed with the name of the namespace where the object is defined. You can use objects defined in other projects if you create a reference to the class (by choosing Add Reference from the Project menu) and then use the fully qualified name for the object in your code.

Fully qualified names prevent naming conflicts because the compiler can always determine which object is being used. However, the names themselves can get long and cumbersome. To get around this, you can use the Imports statement (using in C#) to define an alias — an abbreviated name you can use in place of a fully qualified name. For example, the following code snippet creates aliases for two fully qualified names, and uses these aliases to define two objects:

· Visual Basic

· C#

· Delphi

If you use the Imports statement without an alias, you can use all the names in that namespace without qualification, provided they are unique to the project.


Creating a .NET Project

Creating a .NET Project

This topic demonstrates how to create a new .NET project.

1. From the File menu in Microsoft Visual Studio .NET, select New and click Project. The New Project dialog box opens.

2. Under Project Types, choose either Visual Basic Projects or Visual C# Projects, and select Windows Application from the list of Templates in the right pane.

3. Enter or browse for a location for your application in the Location field and click OK.

A new Microsoft Visual Studio .NET project is created in the specified location. In addition, a new Form1 is displayed in the Designer view.

4. Double-click the C1BarCode component from the Toolbox to add it to Form1. For information on adding a component to the toolbox, see Adding the C1BarCode Component to the Toolbox.


Adding the C1BarCode Component to the Toolbox

Adding the C1BarCode Component to the Toolbox

When you install C1BarCode, the following new component will appear in the Visual Studio’s toolbox customization dialog box:

· C1BarCode

In order to use the C1BarCode component, you must add it to the Visual Studio Toolbox:

Open the Visual Studio IDE (Microsoft Development Environment). Make sure the Toolbox is visible (select Toolbox in the View menu if necessary). Press the right mouse button over the Toolbox to open the toolbox context menu.

To make C1BarCode component appears on its own tab in the Toolbox, select Add Tab from the context menu and type in the tab name, for example, “C1BarCode”. Select the tab where the C1BarCode component is to appear. Press the right mouse button over that tab and select Customize Toolbox… from the context menu. The Customize Toolbox dialog box will open.

In the Customize Toolbox dialog box, go to the .NET Framework Components tab. Sort the list by Namespace (click the Namespace column header) and check the check boxes for all components belonging to namespace C1.Win.C1BarCode. Note that there may be more than one component for each namespace.


Overview

Overview

The C1BarCode code was originally developed for use in the C1Report component and has been a part of C1Report since build 151, released in May 2004.

We decided to package it as a stand-alone component because it can be useful in many applications besides reports. For example, you can use C1BarCode to add barcode images to grid cells, to web pages, or to regular .NET PrintDocument objects. The image below shows a C1Report listing products along with the C1BarCode for each:

There are numerous commercial controls that create barcodes. We feel that C1BarCode is a valuable addition to our Component Studios.

The C1BarCode control creates barcode representations of alphanumeric values.

The main advantages of using the C1BarCode control instead of barcode fonts are:

1. C1BarCode will automatically add any necessary control symbols and check sums to the value being encoded, depending on the encoding being used.

2. C1BarCode is a royalty-free dll and can be deployed with your application like any regular assembly. Bar code fonts, on the other hand, must be installed into the client's Font directory (and you have to check that the bar code fonts you are using are royalty-free).

To use the C1BarCode control, set the CodeType property to the type of encoding you want to use, then set the Text property to the value you want to encode.

The control will show the barcode image. If you want to include the barcode in a document, use the Image property to retrieve a resolution-independent image of the barcode.

For example:

· Visual Basic

· C#

· Delphi


Supported Encodings

Supported Encodings

The C1BarCode control supports the following encodings:

Codabar | Codabar may encode 16 different characters (0 through 9 plus -$:/.+), plus an additional 4 start/stop characters (A through D). Codabar is used by some US blood banks, photo labs, and on FedEx airbills.
Code128 | Code 128 is a very high density alpha-numeric bar code. It can be used to encode values with 6 characters of more and will use the least amount of space of any 1-D symbology.
Code39 | Code 39 is an alpha-numeric encoding also known as 3 of 9 and LOGMARS. This was the first alphanumeric symbology developed, and is one of the most widely used encodings.
Code93 | Code 93 is an alpha-numeric encoding that is slightly denser than code 39.
CodeI2of5 | Code I2of5 is a numeric encoding. The symbol can be as long as necessary to store the encoded data.
Ean13 | EAN-13 was implemented by the International Article Numbering Association (EAN) in Europe. EAN-13 encodes a 12-digit code that consists of a 2 digit system code followed by a 5 digit manufacturer code and a 5-digit product code. The 12-digit code is followed by a checksum digit (automatically added by the control).
Ean8 | EAN-8 provides a short barcode for small packages. It encodes a 7-digit code that consists of a 2 or 3 digit system code followed by a 4 or 5 digit product code. The 7-digit code is followed by a checksum digit (automatically added by the control).
PostNet | PostNet is a numeric encoding used by the US postal service. It differs from most others in that it is based on the height of the bars rather than on their width.


C1BarCode Samples

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

C1BarCode Samples

Please be advised that this ComponentOne software title is accompanied by various sample projects and/or demos, which may or not make use of other ComponentOne development tools. While the sample projects and/or demos included with the software are used to demonstrate and highlight the product’s features, and how the control may be integrated with the rest of the ComponentOne product line, some of the controls used in the demo/sample project may not be included with the purchase of certain individual products.

The ComponentOne Samples are also available at http://www.componentone.com/samples.


C# Samples

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

C# Samples

BarCodeSample

Demonstrates the different types of barcode encoding. This sample uses the C1BarCode control.


C1.Win.C1BarCode Assembly

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

C1.Win.C1BarCode Assembly

Namespaces

C1.Win.C1BarCode


C1.Win.C1BarCode Namespace

C1.Win.C1BarCode Namespace

C1.Win.C1BarCode Hierarchy

Classes

Class | Description
C1BarCode | Creates barcode representations of alphanumeric values.

Enumerations

Enumeration | Description
CodeTypeEnum | Specifies the type of barcode to be generated by the C1BarCode control.

See Also

C1.Win.C1BarCode Assembly


C1BarCode Class

C1BarCode Class

Creates barcode representations of alphanumeric values.

For a list of all members of this type, see C1BarCode Members.

System.Object

System.MarshalByRefObject

System.ComponentModel.Component

System.Windows.Forms.Control

C1.Win.C1BarCode.C1BarCode

[Visual Basic]

Public Class C1BarCode

Inherits Control

[C#]

public class C1BarCode : Control

[Delphi]

type C1BarCode = class (Control);(Control);

Remarks

To use the C1BarCode control, set the CodeType property to the type of encoding you want to use, then set the Text property to the value you want to encode.

The control will show the barcode image. If you want to include the barcode in a document, use the Image property to retrieve a resolution-independent image of the barcode.

Example

This sample shows how to use the Text property to encode the value "123456" as a Code39-encoded barcode.

· Visual Basic

· C#

· Delphi

Namespace: C1.Win.C1BarCode

Assembly: C1.Win.C1BarCode (in c1.win.c1barcode.dll)

See Also


C1BarCode Members

C1BarCode Members

C1BarCode overview

Public Constructors

C1BarCode Constructor

Creates a new instance of the C1BarCode control.

Public Properties

AccessibilityObject (inherited from Control) | The accessibility object for this control.
AccessibleDefaultActionDescription (inherited from Control) | The default action description of the control.
AccessibleDescription (inherited from Control) | The description that will be reported to accessibility clients.
AccessibleName (inherited from Control) | The name that will be reported to accessibility clients.
AccessibleRole (inherited from Control) | The role that will be reported to accessibility clients.
AllowDrop (inherited from Control) | Determines if the control will receive drag-drop notifications.
Anchor (inherited from Control) | The anchor of the control. Anchors define to which edges of the container a certain control is bound. When a control is anchored to an edge, the distance between the control's closest edge and the specified edge will remain constant.
BackColor | Overriden. Gets or sets the background color for the control.
BackgroundImage (inherited from Control) | The background image used for the control.
BarHeight | Gets or sets the height of the bars in screen pixels.
BarNarrow | Gets or sets the width of the narrow bars in screen pixels.
BarWide | Gets or sets the width of the wide bars in screen pixels.
BindingContext (inherited from Control) | The binding manager for this container.
Bottom (inherited from Control) | The bottom of the control, in container coordinates.
Bounds (inherited from Control) | The bounds of the control, in container coordinates.
CanFocus (inherited from Control) | Checks if this control can receive the focus.
CanSelect (inherited from Control) | Checks if this control can be selected.
Capture (inherited from Control) | Determines if this control is currently capturing all mouse input.
CausesValidation (inherited from Control) | Indicates whether this control causes and raises validation events.
ClientRectangle (inherited from Control) | Retrieves the rectangle of the inner area of this control.
ClientSize (inherited from Control) | Determines the size of the inner area of this control.
CodeType | Gets or sets the type of encoding to use when generating the barcode image.
CompanyName (inherited from Control) | ControlCompanyNameDescr
ContainsFocus (inherited from Control) | Determines if this control or one if its children currently has the focus.
ContextMenu (inherited from Control) | The shortcut menu to display when the user right-clicks the control.
Controls (inherited from Control) | The collection of child controls within this control.
Created (inherited from Control) | Determines if the control has been fully created.
Cursor (inherited from Control) | The cursor that appears when the mouse passes over the control.
DataBindings (inherited from Control) | This collection holds all the bindings of properties of this control to data sources.
DisplayRectangle (inherited from Control) | Retrieves the display rectangle of this control.
Disposing (inherited from Control) | Determines if this control is in the process of being disposed.
Dock (inherited from Control) | The docking location of the control, indicating which borders are docked to the container.
Enabled (inherited from Control) | Indicates whether the control is enabled.
Focused (inherited from Control) | Determines if this control has focus.
Font | Overriden. Gets or sets the Font used to display the value of the Text property.
ForeColor | Overriden. Gets or sets the foreground color for the control.
Handle (inherited from Control) | The native handle for this control.
HasChildren (inherited from Control) | True if this control has child controls in its collection.
Height (inherited from Control) | The height of the control, in container coordinates.
Image | Gets an image of the barcode that represents the value in the Text property, obtained using the encoding specified by the CodeType property.
ImeMode (inherited from Control) | Determines the IME (Input Method Editor) status of the object when selected.
InvokeRequired (inherited from Control) | Determines if Invoke or InvokeAsync should be used to access this control cross-thread.
IsAccessible (inherited from Control) | Determines if this control supports Accessibility.
IsDisposed (inherited from Control) | Determines if this control has been disposed.
IsHandleCreated (inherited from Control) | Determines if the native handle has been created for this control.
Left (inherited from Control) | The upper left of the control, in container coordinates.
Location (inherited from Control) | The position of the top-left corner of the control with respect to its container.
Parent (inherited from Control) | The parent of this control.
ProductName (inherited from Control) | Retrieves the name of the product associated with this component.
ProductVersion (inherited from Control) | Retrieves the version of the product associated with this component.
RecreatingHandle (inherited from Control) | Determines if this control is in the process of recreating its handle.
Region (inherited from Control) | The region, or shape, of this control.
Right (inherited from Control) | The upper right of the control, in container coordinates.
RightToLeft (inherited from Control) | Indicates whether the control should draw right-to-left for RTL languages.
ShowText | Gets or sets whether the value of the Text property should be displayed along with the barcode image.
Size (inherited from Control) | The size of the control in pixels.
SizeMode | Gets or sets how the barcode image is displayed within the control.
TabIndex (inherited from Control) | Determines the index in the TAB order that this control will occupy.
TabStop (inherited from Control) | Indicates whether the user can use the TAB key to give focus to the control.
Tag (inherited from Control) | User defined data associated with the control.
Text | Overriden. Gets or sets the value that is encoded as a barcode image.
Top (inherited from Control) | The top of the control, in container coordinates.
TopLevelControl (inherited from Control) | Retrieves the top level control that contains this control.
Visible (inherited from Control) | Determines whether the control is visible or hidden.
Width (inherited from Control) | The width of the control, in container coordinates.

Public Events

BackColorChanged (inherited from Control) | Event fired when the value of BackColor property is changed on Control
BackgroundImageChanged (inherited from Control) | Event fired when the value of BackgroundImage property is changed on Control
BindingContextChanged (inherited from Control) | Event fired when the value of BindingContext property is changed on Control
CausesValidationChanged (inherited from Control) | Event fired when the value of CausesValidation property is changed on Control
ChangeUICues (inherited from Control) | Occurs when focus rectangles and keyboard cue underlines are being shown or hidden.
Click (inherited from Control) | Occurs when the control is clicked.
ContextMenuChanged (inherited from Control) | Event fired when the value of ContextMenu property is changed on Control
ControlAdded (inherited from Control) | Occurs when a control is added to this control.
ControlRemoved (inherited from Control) | Occurs when a control is removed from this control.
CursorChanged (inherited from Control) | Event fired when the value of Cursor property is changed on Control
DockChanged (inherited from Control) | Event fired when the value of Dock property is changed on Control
DoubleClick (inherited from Control) | Occurs when the control is double-clicked.
DragDrop (inherited from Control) | Occurs when the mouse drags an item and the user releases the mouse indicating that the item should be 'dropped' into this Control.
DragEnter (inherited from Control) | Occurs when the mouse drags an item into the client area for this Control.
DragLeave (inherited from Control) | Occurs when the mouse drags an item and is no longer over the client area for this Control.
DragOver (inherited from Control) | Occurs when the mouse drags an item and is moving over the client area of this Control.
EnabledChanged (inherited from Control) | Occurs when the control's enabled state changes.
Enter (inherited from Control) | Occurs when the control becomes the active control of the form.
FontChanged (inherited from Control) | Event fired when the value of Font property is changed on Control
ForeColorChanged (inherited from Control) | Event fired when the value of ForeColor property is changed on Control
GiveFeedback (inherited from Control) | Occurs when the mouse drags an item. The system requests that the Control provide feedback to that effect.
GotFocus (inherited from Control) | Occurs when the control gets focus.
HandleCreated (inherited from Control) | Occurs when the control's native handle is created.
HandleDestroyed (inherited from Control) | Occurs when the control's native handle is destroyed.
HelpRequested (inherited from Control) | Occurs when the user invokes help for the control.
ImeModeChanged (inherited from Control) | Occurs when the control's IME mode changes
Invalidated (inherited from Control) | Occurs when one of the invalidate methods is called.
KeyDown (inherited from Control) | Occurs when a key is first pressed.
KeyPress (inherited from Control) | Occurs after the user is finished pressing a key.
KeyUp (inherited from Control) | Occurs when a key is released.
Layout (inherited from Control) | Occurs when the control is about to lay out its contents.
Leave (inherited from Control) | Occurs when the control is no longer the active control of the form.
LocationChanged (inherited from Control) | Event fired when the value of Location property is changed on Control
LostFocus (inherited from Control) | Occurs when the control gets focus.
MouseDown (inherited from Control) | Occurs when a mouse button is pressed.
MouseEnter (inherited from Control) | Occurs when the mouse enters the visible part of the control.
MouseHover (inherited from Control) | Occurs when the mouse remains stationary inside of the control for an amount of time.
MouseLeave (inherited from Control) | Occurs when the mouse leaves the visible part of the control.
MouseMove (inherited from Control) | Occurs when the mouse is moved.
MouseUp (inherited from Control) | Occurs when a mouse button is released.
MouseWheel (inherited from Control) | Occurs when the mouse wheel is rolled.
Move (inherited from Control) | Occurs when a control is moved.
Paint (inherited from Control) | Occurs when a control needs repainting.
ParentChanged (inherited from Control) | Event fired when the value of Parent property is changed on Control
QueryAccessibilityHelp (inherited from Control) | Occurs when an Accessibility client invokes help for the control.
QueryContinueDrag (inherited from Control) | Occurs when the mouse drags an item. The system requests whether the drag and drop operation should be allowed to continue.
Resize (inherited from Control) | Occurs when a control is resized.
RightToLeftChanged (inherited from Control) | Event fired when the value of RightToLeft property is changed on Control
SizeChanged (inherited from Control) | Event fired when the value of Size property is changed on Control
StyleChanged (inherited from Control) | Event fired when the window style of a Control is changed
SystemColorsChanged (inherited from Control) | Event fired when the system colors change
TabIndexChanged (inherited from Control) | Event fired when the value of TabIndex property is changed on Control
TabStopChanged (inherited from Control) | Event fired when the value of TabStop property is changed on Control
TextChanged (inherited from Control) | Event fired when the value of Text property is changed on Control
Validated (inherited from Control) | Occurs after a control has been successfully validated.
Validating (inherited from Control) | Occurs when a control is being validated. Set to True the Cancel property on the event parameter to cancel the validation.
VisibleChanged (inherited from Control) | Occurs when the control's visibility changes.

Protected Properties

ResizeRedraw (inherited from Control)

Indicates whether the control should redraw itself when resized.

Protected Methods

OnPaint

Overriden. Raises the Paint event.

See Also


C1BarCode Constructor

C1BarCode Constructor

Creates a new instance of the C1BarCode control.

[Visual Basic]

Public Function New()

[C#]

public C1BarCode()

[Delphi]

public constructor Create();

See Also


C1BarCode Properties

C1BarCode Properties

The properties of the C1BarCode class are listed here. For a complete list of C1BarCode class members, see the C1BarCode Members topic.

Public Properties

AccessibilityObject (inherited from Control) | The accessibility object for this control.
AccessibleDefaultActionDescription (inherited from Control) | The default action description of the control.
AccessibleDescription (inherited from Control) | The description that will be reported to accessibility clients.
AccessibleName (inherited from Control) | The name that will be reported to accessibility clients.
AccessibleRole (inherited from Control) | The role that will be reported to accessibility clients.
AllowDrop (inherited from Control) | Determines if the control will receive drag-drop notifications.
Anchor (inherited from Control) | The anchor of the control. Anchors define to which edges of the container a certain control is bound. When a control is anchored to an edge, the distance between the control's closest edge and the specified edge will remain constant.
BackColor | Overriden. Gets or sets the background color for the control.
BackgroundImage (inherited from Control) | The background image used for the control.
BarHeight | Gets or sets the height of the bars in screen pixels.
BarNarrow | Gets or sets the width of the narrow bars in screen pixels.
BarWide | Gets or sets the width of the wide bars in screen pixels.
BindingContext (inherited from Control) | The binding manager for this container.
Bottom (inherited from Control) | The bottom of the control, in container coordinates.
Bounds (inherited from Control) | The bounds of the control, in container coordinates.
CanFocus (inherited from Control) | Checks if this control can receive the focus.
CanSelect (inherited from Control) | Checks if this control can be selected.
Capture (inherited from Control) | Determines if this control is currently capturing all mouse input.
CausesValidation (inherited from Control) | Indicates whether this control causes and raises validation events.
ClientRectangle (inherited from Control) | Retrieves the rectangle of the inner area of this control.
ClientSize (inherited from Control) | Determines the size of the inner area of this control.
CodeType | Gets or sets the type of encoding to use when generating the barcode image.
CompanyName (inherited from Control) | ControlCompanyNameDescr
ContainsFocus (inherited from Control) | Determines if this control or one if its children currently has the focus.
ContextMenu (inherited from Control) | The shortcut menu to display when the user right-clicks the control.
Controls (inherited from Control) | The collection of child controls within this control.
Created (inherited from Control) | Determines if the control has been fully created.
Cursor (inherited from Control) | The cursor that appears when the mouse passes over the control.
DataBindings (inherited from Control) | This collection holds all the bindings of properties of this control to data sources.
DisplayRectangle (inherited from Control) | Retrieves the display rectangle of this control.
Disposing (inherited from Control) | Determines if this control is in the process of being disposed.
Dock (inherited from Control) | The docking location of the control, indicating which borders are docked to the container.
Enabled (inherited from Control) | Indicates whether the control is enabled.
Focused (inherited from Control) | Determines if this control has focus.
Font | Overriden. Gets or sets the Font used to display the value of the Text property.
ForeColor | Overriden. Gets or sets the foreground color for the control.
Handle (inherited from Control) | The native handle for this control.
HasChildren (inherited from Control) | True if this control has child controls in its collection.
Height (inherited from Control) | The height of the control, in container coordinates.
Image | Gets an image of the barcode that represents the value in the Text property, obtained using the encoding specified by the CodeType property.
ImeMode (inherited from Control) | Determines the IME (Input Method Editor) status of the object when selected.
InvokeRequired (inherited from Control) | Determines if Invoke or InvokeAsync should be used to access this control cross-thread.
IsAccessible (inherited from Control) | Determines if this control supports Accessibility.
IsDisposed (inherited from Control) | Determines if this control has been disposed.
IsHandleCreated (inherited from Control) | Determines if the native handle has been created for this control.
Left (inherited from Control) | The upper left of the control, in container coordinates.
Location (inherited from Control) | The position of the top-left corner of the control with respect to its container.
Parent (inherited from Control) | The parent of this control.
ProductName (inherited from Control) | Retrieves the name of the product associated with this component.
ProductVersion (inherited from Control) | Retrieves the version of the product associated with this component.
RecreatingHandle (inherited from Control) | Determines if this control is in the process of recreating its handle.
Region (inherited from Control) | The region, or shape, of this control.
Right (inherited from Control) | The upper right of the control, in container coordinates.
RightToLeft (inherited from Control) | Indicates whether the control should draw right-to-left for RTL languages.
ShowText | Gets or sets whether the value of the Text property should be displayed along with the barcode image.
Size (inherited from Control) | The size of the control in pixels.
SizeMode | Gets or sets how the barcode image is displayed within the control.
TabIndex (inherited from Control) | Determines the index in the TAB order that this control will occupy.
TabStop (inherited from Control) | Indicates whether the user can use the TAB key to give focus to the control.
Tag (inherited from Control) | User defined data associated with the control.
Text | Overriden. Gets or sets the value that is encoded as a barcode image.
Top (inherited from Control) | The top of the control, in container coordinates.
TopLevelControl (inherited from Control) | Retrieves the top level control that contains this control.
Visible (inherited from Control) | Determines whether the control is visible or hidden.
Width (inherited from Control) | The width of the control, in container coordinates.

Protected Properties

ResizeRedraw (inherited from Control)

Indicates whether the control should redraw itself when resized.

See Also


C1BarCode.BackColor Property

C1BarCode.BackColor Property

Gets or sets the background color for the control.

[Visual Basic]

Overrides Public Property BackColor As Color

[C#]

override public Color BackColor {get;set;}

[Delphi]

public property BackColor: Color read get_BackColor write set_BackColor;

Remarks

The background color only applies to the control. The barcode image that is available through the Image property always has a transparent background.

See Also


C1BarCode.BarHeight Property

C1BarCode.BarHeight Property

Gets or sets the height of the bars in screen pixels.

[Visual Basic]

Public Property BarHeight As Integer

[C#]

public int BarHeight {get;set;}

[Delphi]

public property BarHeight: Int32 read get_BarHeight write set_BarHeight;

See Also


C1BarCode.BarNarrow Property

C1BarCode.BarNarrow Property

Gets or sets the width of the narrow bars in screen pixels.

[Visual Basic]

Public Property BarNarrow As Integer

[C#]

public int BarNarrow {get;set;}

[Delphi]

public property BarNarrow: Int32 read get_BarNarrow write set_BarNarrow;

Remarks

By default, narrow bars are one screen pixel wide (1/96") and wide bars are two pixels wide (1/96"). You should never have to change these values, they are exposed only in case you need to make adjustments for special barcode reader hardware.

See Also


C1BarCode.BarWide Property

C1BarCode.BarWide Property

Gets or sets the width of the wide bars in screen pixels.

[Visual Basic]

Public Property BarWide As Integer

[C#]

public int BarWide {get;set;}

[Delphi]

public property BarWide: Int32 read get_BarWide write set_BarWide;

Remarks

By default, narrow bars are one screen pixel wide (1/96") and wide bars are two pixels wide (1/96"). You should never have to change these values, they are exposed only in case you need to make adjustments for special barcode reader hardware.

See Also


C1BarCode.CodeType Property

C1BarCode.CodeType Property

Gets or sets the type of encoding to use when generating the barcode image.

[Visual Basic]

Public Property CodeType As CodeTypeEnum

[C#]

public CodeTypeEnum CodeType {get;set;}

[Delphi]

public property CodeType: CodeTypeEnum read get_CodeType write set_CodeType;

Remarks

The selected encoding is applied to the value stored in the Text property to generate the barcode image displayed in the control. The barcode image is also available through the Image property.

Example

This sample shows how to use the CodeType property to encode the value "123456" as a Code39-encoded barcode.

· Visual Basic

· C#

· Delphi

See Also


C1BarCode.Font Property

C1BarCode.Font Property

Gets or sets the Font used to display the value of the Text property.

[Visual Basic]

Overrides Public Property Font As Font

[C#]

override public Font Font {get;set;}

[Delphi]

public property Font: Font read get_Font write set_Font;

Remarks

If the ShowText property is set to true, then the value of the Text property is displayed centered along the bottom of the barcode image using the given font.

See Also


C1BarCode.ForeColor Property

C1BarCode.ForeColor Property

Gets or sets the foreground color for the control.

[Visual Basic]

Overrides Public Property ForeColor As Color

[C#]

override public Color ForeColor {get;set;}

[Delphi]

public property ForeColor: Color read get_ForeColor write set_ForeColor;

Remarks

The foreground color applies to the control and also to the barcode image that is available through the Image property.

See Also


C1BarCode.Image Property

C1BarCode.Image Property

Gets an image of the barcode that represents the value in the Text property, obtained using the encoding specified by the CodeType property.

[Visual Basic]

Public ReadOnly Property Image As Image

[C#]

public Image Image {get;}

[Delphi]

public property Image: Image read get_Image;

Remarks

The Image property returns an enhanced metafile that can be inserted in reports and other documents. If the value stored in the Text property is invalid for the current encoding, the image returned is blank.

Although the barcode image returned by the control is scalable, the default size is optimal for common barcode readers. Keep in mind that if you stretch the image and make it very large or very small, it may become unreadable to some readers.

See Also


C1BarCode.ShowText Property

C1BarCode.ShowText Property

Gets or sets whether the value of the Text property should be displayed along with the barcode image.

[Visual Basic]

Public Property ShowText As Boolean

[C#]

public bool ShowText {get;set;}

[Delphi]

public property ShowText: Boolean read get_ShowText write set_ShowText;

Remarks

By default, the control will show only the barcode image. To include a textual representation of the value in the Text property, set the ShowText property to True and set the Font property to the Font to be used for the textual display.

See Also


C1BarCode.SizeMode Property

C1BarCode.SizeMode Property

Gets or sets how the barcode image is displayed within the control.

[Visual Basic]

Public Property SizeMode As PictureBoxSizeMode

[C#]

public PictureBoxSizeMode SizeMode {get;set;}

[Delphi]

public property SizeMode: PictureBoxSizeMode read get_SizeMode write set_SizeMode;

Remarks

This property only affects how the barcode is displayed within the control. It has no effect on the actual barcode image, as returned by the Image property.

In most applications, you will either center or left-align the barcode image within the control. Although stretching the image is possible, it may make it unreadable for some barcode readers.

See Also


C1BarCode.Text Property

C1BarCode.Text Property

Gets or sets the value that is encoded as a barcode image.

[Visual Basic]

Overrides Public Property Text As String

[C#]

override public string Text {get;set;}

[Delphi]

public property Text: String read get_Text write set_Text;

Remarks

Some encodings support alpha-numeric values of any length. Others are limited to numeric values or to a specific set of characters. See the CodeTypeEnum enumeration for details.

If you use characters that are invalid for the current encoding, the control will display a blank image.

Example

This sample shows how to use the Text property to encode the value "123456" as a Code39-encoded barcode.

· Visual Basic

· C#

· Delphi

See Also


C1BarCode Methods

C1BarCode Methods

The methods of the C1BarCode class are listed here. For a complete list of C1BarCode class members, see the C1BarCode Members topic.

Protected Methods

OnPaint

Overriden. Raises the Paint event.

See Also


C1BarCode.OnPaint Method

C1BarCode.OnPaint Method

Raises the Paint event.

[Visual Basic]

Overrides Protected Sub OnPaint( _

ByVal e As PaintEventArgs _

)

[C#]

override protected void OnPaint(

PaintEventArgs e

);

[Delphi]

strict protected procedure OnPaint(

e: PaintEventArgs

); override;

Parameters

e

A PaintEventArgs that contains the event data.

See Also


C1BarCode Events

C1BarCode Events

The events of the C1BarCode class are listed here. For a complete list of C1BarCode class members, see the C1BarCode Members topic.

Public Events

BackColorChanged (inherited from Control) | Event fired when the value of BackColor property is changed on Control
BackgroundImageChanged (inherited from Control) | Event fired when the value of BackgroundImage property is changed on Control
BindingContextChanged (inherited from Control) | Event fired when the value of BindingContext property is changed on Control
CausesValidationChanged (inherited from Control) | Event fired when the value of CausesValidation property is changed on Control
ChangeUICues (inherited from Control) | Occurs when focus rectangles and keyboard cue underlines are being shown or hidden.
Click (inherited from Control) | Occurs when the control is clicked.
ContextMenuChanged (inherited from Control) | Event fired when the value of ContextMenu property is changed on Control
ControlAdded (inherited from Control) | Occurs when a control is added to this control.
ControlRemoved (inherited from Control) | Occurs when a control is removed from this control.
CursorChanged (inherited from Control) | Event fired when the value of Cursor property is changed on Control
DockChanged (inherited from Control) | Event fired when the value of Dock property is changed on Control
DoubleClick (inherited from Control) | Occurs when the control is double-clicked.
DragDrop (inherited from Control) | Occurs when the mouse drags an item and the user releases the mouse indicating that the item should be 'dropped' into this Control.
DragEnter (inherited from Control) | Occurs when the mouse drags an item into the client area for this Control.
DragLeave (inherited from Control) | Occurs when the mouse drags an item and is no longer over the client area for this Control.
DragOver (inherited from Control) | Occurs when the mouse drags an item and is moving over the client area of this Control.
EnabledChanged (inherited from Control) | Occurs when the control's enabled state changes.
Enter (inherited from Control) | Occurs when the control becomes the active control of the form.
FontChanged (inherited from Control) | Event fired when the value of Font property is changed on Control
ForeColorChanged (inherited from Control) | Event fired when the value of ForeColor property is changed on Control
GiveFeedback (inherited from Control) | Occurs when the mouse drags an item. The system requests that the Control provide feedback to that effect.
GotFocus (inherited from Control) | Occurs when the control gets focus.
HandleCreated (inherited from Control) | Occurs when the control's native handle is created.
HandleDestroyed (inherited from Control) | Occurs when the control's native handle is destroyed.
HelpRequested (inherited from Control) | Occurs when the user invokes help for the control.
ImeModeChanged (inherited from Control) | Occurs when the control's IME mode changes
Invalidated (inherited from Control) | Occurs when one of the invalidate methods is called.
KeyDown (inherited from Control) | Occurs when a key is first pressed.
KeyPress (inherited from Control) | Occurs after the user is finished pressing a key.
KeyUp (inherited from Control) | Occurs when a key is released.
Layout (inherited from Control) | Occurs when the control is about to lay out its contents.
Leave (inherited from Control) | Occurs when the control is no longer the active control of the form.
LocationChanged (inherited from Control) | Event fired when the value of Location property is changed on Control
LostFocus (inherited from Control) | Occurs when the control gets focus.
MouseDown (inherited from Control) | Occurs when a mouse button is pressed.
MouseEnter (inherited from Control) | Occurs when the mouse enters the visible part of the control.
MouseHover (inherited from Control) | Occurs when the mouse remains stationary inside of the control for an amount of time.
MouseLeave (inherited from Control) | Occurs when the mouse leaves the visible part of the control.
MouseMove (inherited from Control) | Occurs when the mouse is moved.
MouseUp (inherited from Control) | Occurs when a mouse button is released.
MouseWheel (inherited from Control) | Occurs when the mouse wheel is rolled.
Move (inherited from Control) | Occurs when a control is moved.
Paint (inherited from Control) | Occurs when a control needs repainting.
ParentChanged (inherited from Control) | Event fired when the value of Parent property is changed on Control
QueryAccessibilityHelp (inherited from Control) | Occurs when an Accessibility client invokes help for the control.
QueryContinueDrag (inherited from Control) | Occurs when the mouse drags an item. The system requests whether the drag and drop operation should be allowed to continue.
Resize (inherited from Control) | Occurs when a control is resized.
RightToLeftChanged (inherited from Control) | Event fired when the value of RightToLeft property is changed on Control
SizeChanged (inherited from Control) | Event fired when the value of Size property is changed on Control
StyleChanged (inherited from Control) | Event fired when the window style of a Control is changed
SystemColorsChanged (inherited from Control) | Event fired when the system colors change
TabIndexChanged (inherited from Control) | Event fired when the value of TabIndex property is changed on Control
TabStopChanged (inherited from Control) | Event fired when the value of TabStop property is changed on Control
TextChanged (inherited from Control) | Event fired when the value of Text property is changed on Control
Validated (inherited from Control) | Occurs after a control has been successfully validated.
Validating (inherited from Control) | Occurs when a control is being validated. Set to True the Cancel property on the event parameter to cancel the validation.
VisibleChanged (inherited from Control) | Occurs when the control's visibility changes.

See Also


CodeTypeEnum Enumeration

CodeTypeEnum Enumeration

Specifies the type of barcode to be generated by the C1BarCode control.

[Visual Basic]

Public Enum CodeTypeEnum

[C#]

public enum CodeTypeEnum

[Delphi]

type CodeTypeEnum = (Codabar, Code128, Code39, Code93, CodeI2of5, Ean13, Ean8, PostNet);

Namespace: C1.Win.C1BarCode

Assembly: C1.Win.C1BarCode (in c1.win.c1barcode.dll)

Remarks

The CodeTypeEnum enumeration represents the different types of barcode that can be generated by the C1BarCode control.

Some types of barcode can be used to represent alphanumeric values, others can only represent numeric values.

Members

Member name | Description
Codabar | Codabar may encode 16 different characters (0 through 9 plus -$:/.+), plus an additional 4 start/stop characters (A through D). Codabar is used by some US blood banks, photo labs, and on FedEx airbills.
Code128 | Code 128 is a very high density alpha-numeric bar code. It can be used to encode values with 6 characters of more and will use the least amount of space of any 1-D symbology.
Code39 | Code 39 is an alpha-numeric encoding also known as 3 of 9 and LOGMARS. This was the first alphanumeric symbology developed, and is one of the most widely used encodings.
Code93 | Code 93 is an alpha-numeric encoding that is slightly denser than code 39.
CodeI2of5 | Code I2of5 is a numeric encoding. The symbol can be as long as necessary to store the encoded data.
Ean13 | EAN-13 was implemented by the International Article Numbering Association (EAN) in Europe. EAN-13 encodes a 12-digit code that consists of a 2 digit system code followed by a 5 digit manufacturer code and a 5-digit product code. The 12-digit code is followed by a checksum digit (automatically added by the control).
Ean8 | EAN-8 provides a short barcode for small packages. It encodes a 7-digit code that consists of a 2 or 3 digit system code followed by a 4 or 5 digit product code. The 7-digit code is followed by a checksum digit (automatically added by the control).
PostNet | PostNet is a numeric encoding used by the US postal service. It differs from most others in that it is based on the height of the bars rather than on their width.

See Also

C1.Win.C1BarCode Namespace


C1.Win.C1BarCode Hierarchy

C1.Win.C1BarCode Hierarchy

System.Object

System.MarshalByRefObject

System.ComponentModel.Component

System.Windows.Forms.Control

C1.Win.C1BarCode.C1BarCode

System.ValueType

System.Enum

C1.Win.C1BarCode.CodeTypeEnum

See Also

C1.Win.C1BarCode Namespace


Namespaces - C#

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Namespaces – C#

C#

C1.Win.C1BarCode.C1BarCode barcode1;


Namespaces - C#2

Namespaces – C#2

C#

// Define a new C1BarCode object

C1BarCode MyBarCode;

// Define a new C1BarCode.C1BarCode object.

C1.Win.C1BarCode.C1BarCode C1BarCode;


Namespaces - C#3

Namespaces – C#3

C#

using C1BarCode = C1.Win.C1BarCode;

using MyBarCode = MyProject.C1BarCode;

C1BarCode s1;

MyBarCode s2;


Namespaces - Delphi

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Namespaces – Delphi

Delphi

var

barcode1: C1.Win.C1BarCode.C1BarCode;


Namespaces - Delphi2

Namespaces – Delphi2

Delphi

var

MyBarCode: C1.Win.C1BarCode.C1BarCode;

begin

MyBarCode:= C1.Win.C1BarCode.Create;

end;


Namespaces - Delphi3

Namespaces – Delphi3

Delphi

uses

C1BarCode, MyBarCode;

var

s2: MyBarCode;

s1: C1BarCode;

begin

C1BarCode := C1.Win.C1BarCode;

MyBarCode := MyProject.C1BarCode;

end;


Namespaces - Visual Basic

ComponentOne BarCode for .NET E-mail sent to documentation@componentone.com is for documentation feedback only. We welcome any suggestions to help improve our documentation.

Namespaces – Visual Basic

Visual Basic

Dim barcode1 As C1.Win.C1BarCode.C1BarCode


Namespaces - Visual Basic2

Namespaces – Visual Basic2

Visual Basic

' Define a new C1BarCode object

Dim MyBarCode as C1BarCode

' Define a new C1BarCode.C1BarCode object.

Dim C1BarCode as C1.Win.C1BarCode.C1BarCode


Namespaces - Visual Basic3

Namespaces – Visual Basic3

Visual Basic

Imports C1BarCode = C1.Win.C1BarCode

Imports MyBarCode = MyProject.C1BarCode

Dim s1 As C1BarCode

Dim s2 As MyBarCode


Overview - C#

Overview – C#

C#

c1barcode1.CodeType = CodeTypeEnum.Code39;

c1barcode1.Text = "123456";

pictureBox1.Image = c1barcode1.Image;


Overview - Delphi

Overview – Delphi

Delphi

begin

c1barcode1.CodeType := CodeTypeEnum.Code39;

c1barcode1.Text :='123456';

pictureBox1.Image := c1barcode1.Image;

end;


Overview - Visual Basic

Overview – Visual Basic

Visual Basic

C1BarCode1.CodeType = C1.Win.C1BarCode.CodeTypeEnum.Code39

C1BarCode1.Text = "123456"

PictureBox1.Image = C1BarCode1.Image