First of all you want to evaluate a mathematical expression. The calculator's UI simply provides an interface for the user to write that expression. Read the C# documentation and you shouldn't have much of a problem with that. Now, back to the evaluation part. There should be libraries out there that can do it for you, but it's a great thing to do yourself.
There's many ways of approaching this problem:
rewrite the expression in polish notation then evaluate it
make an expression tree, then evaluate it (it's cool and all, but quite complicated)
assign operators a priority and evaluate in the order of priority.
recursion, which is what I'd recommend because it's pretty easy to understand and implement
Let's just say we have a basic calculator with +,-,* and /. Oh, and parantheses of course We can divide our expression in 3 "parts":
Terms of the addition operators. Separated by + or -.
Factors of a product. Separated by * or /
Subexpressions, delimited by parantheses, or simply made out of digits.
To evaluate an expression, we need to add all the terms of addition. Each addition term is recursively made out of factors. A factor is recursively made out of subexpressions.