In addition to Dave's answer:
0) The desired interaction between your periferals, the arduiono and the PC progam are not clearly definied in your post.
1) The arduino boards are based on Atmel microcontrollers. The arduino project provides you a neat development platform, which you can program in a C++ like language - no hexa :). Based on what you wrote, if you have some C and C# knowledge, it will be not hard to program the arduino. Please note, that arduinos have no hard disk, no operating system, just a bootloader "burned" into the microcontroller. During development you connect the arduino with the PC using a regular USB cable. This provides power to the device, and the program you wrote is simply uploaded to the microcontroller using the same connection from within the IDE.
2) If you buy proper LCD, you will have a library to include in your project and you will have it working in notime. But please note, that the LCD will be a peripheral of the arduino, not of your PC.
3) The barcode scanner can be problematic. There is
USB host shild[
^]. But you can use the integrated UARTs to communicate with a serial barcode reader. Still, you will need to dig a little bit lower to get it working. Google first in this topic before you buy the scanner. There are also camera based barcode scanner approaches for arduino.
4) The communication between the arduino and your PC is serial. Actually you will see your the arduino on the PC as an additional serial port - both in development and in "production" state.
5) First draft an interaction diagram between your periferals, tha arduino and your pc program. Please remember, that you can't communicate directly with the periferals from the PC just via the arduino. You can implement in c# and in arduino a serial event listener model, where both sides can initiate events (send commands), and can react to events from the other party. You can easily find samples for borth arduino and c#.