Convert.ToInt32("txtserial.Text")
You're converting the literal text of "txtserial.Text" to a number, but you probably mean to use the Text property of the txtserial object so you don't use the quotes (quotes denote a string literal)
Convert.ToInt32(txtserial.Text)
That will still error if whatever is in txtserial can't be converted to a number so google how to use int.TryParse instead.