уверен, все можно сделать:
1) "введите строку в textBox1 и при выполнении условия"
это можно сделать несколькими способами, если условие является событием, определяемым пользователем (например, нажатие клавиши), это можно сделать, используя events .
если условие проверяется программой раздельно, то просто
if(condition){
textBox1.Text += output;
}
будет достаточно.
2) «Я хочу иметь возможность вводить несколько входов»
несколько вводов просто означает чтение большего количества текстовых полей
3) "распечатать вывод в textBox2 и не стирать предыдущий вывод."
это можно сделать следующим образом:
// append at end
textBox1.Text += output;
// append at start
textBox1.Text = output + textBox1.Text;