I have done a fair amount of barcode work.
There's two sides that you will have to become familiar with.
Generating/Printing the Barcodes
This will involve using a specific type of barcode format. Code 128 is usually the most common, easiest to read for most formats, and prints the smallest barcodes. To print Code 128 format barcodes, you requires either a font, library that you can buy (idautomation, etc), and so on that you will integrate into your software to print the barcode. Code 39 is also common (and typically free). It prints really wide barcodes though as your data to be barcoded becomes bigger.
If you are going to print labels with barcodes, you may want to look into Zebra Printers. They have an excellent programming language built in (ZPL) which lets you generate all types of barcodes natively -- no need to buy fonts or libraries.
The important thing to consider here is barcode readability. You will find barcodes scale size wise like a font. ensuring your barcodes can print on your media, and are scannable (wont wrinkle, fold, or peel off, etc) will be very important.
Reading / Using the Barcodes
Reading barcodes will begin with a scanner of some kind. You can get ones that will read any type of barcode and transmit the decoded barcode as input. So, if you had a field selected on your screen, scanned in something, the content of the barcode would be typed into that field for you.
Another thing you could do is buy a mobile scanner running palm OS or windows ce/mobile such as ones made by symbol, psion teklogix, etc. These can be set up to run a piece of integrated software for receiving, shipping systems that will drive your work flow.
I have found life to be a lot easier by not re-inventing the wheel. I have used all of the products I have mentioned above and found they integrate well. There are some superb java barcode libraries as well that are free, I'm sure you will find something for .NET too. Let me know if you have any other questions.