I believe it is most likely erroring on comboBox3.SelectedItem.ToString(). Typically you have to call a selected item's Value or Text depending on what you want to parse before calling the .ToString function.
So it should look like comboBox3.SelectedItem.Value.ToString()
**FYI I don't know what type of control is being used for your combo box whether that is just a name you chose or if it is a combo box so the call may require a different syntax then what I've stated above depending on the control used. If this doesn't help you, please let me know and I can see what I can do.
I'm going to assume that you are able to access the value correctly. If you can't please let me know.
From your comments above I saw that you are trying to parse the string 9,000 which by itself will cause an error. As the above commenter is eluding to culture info specifys what is partically viewed as acceptable input.
You can also specify number styles as well. A pipe delimiter | placed between NumberStyles means that both will be used. http://msdn.microsoft.com/en-us/library/system.globalization.numberstyles.aspx
] has a list of all the various number styles that can be accepted as valid input.
The below code will process the string 9,000
decimal quantity = decimal.Parse("9,000", NumberStyles.Number | NumberStyles.AllowCurrencySymbol,