If you just have text boxes on your form (so that they are effectively fields in your Form class), you can add an int counter field to your class, initialize it to 0, and have (note: untested code):
Random r = new Random();
int sayi = r.Next(1, 49);
string textBoxName = "textBox"+counter;
FieldInfo fi = GetType().GetField(textBoxName);
TextBox currentTextBox = (TextBox)fi.GetValue();
currentTextBox.Text = sayi.ToString();
couter++;
plese note that this approach is rather ugly. It would be nicer to have these text boxes in a list or array and find them using the index instead of using the name of the field.