2016-07-11 2 views
1

У меня есть код для создания текстовых полей. Я повторяю этот код три раза в разных областях. Я пытаюсь узнать больше о методах и классах, поэтому я хотел бы знать, есть ли возможность создавать текстовые поля с использованием методов или классов без повторения кода.Создание текстовых полей с использованием методов или классов

 private void incomes_Click(object sender, EventArgs e) 
     { 
     panel1.Controls.Clear(); 

     TextBox textbox1 = new TextBox(); 
     textbox1.Size = new Size(75,23); 
     textbox1.Text = "Name"; 
     textbox1.Location = new Point(0, 0); 
     panel1.Controls.Add(textbox1); 

     TextBox textbox2 = new TextBox(); 
     textbox2.Size = new Size(75, 23); 
     textbox2.Text = "Sum"; 
     textbox2.Location = new Point(80, 0); 
     panel1.Controls.Add(textbox2); 
     } 

ответ

1

Абсолютно! Вы можете создать метод, который принимает различные параметры, и создает текстовое поле с такими спецификациями:

private void incomes_Click(object sender, EventArgs e) 
{ 
    panel1.Controls.Clear(); 

    TextBox textbox1 = CreateTextBox("Name", 0); 
    TextBox textbox2 = CreateTextBox("Sum", 80); 

    // Now you can use the textbox values... 
} 

private TextBox CreateTextBox(string text, int x) 
{ 
    TextBox textbox = new TextBox(); 
    textbox.Size = new Size(75, 23); 
    textbox.Text = text; 
    textBox.Location = new Point(x, 0); 
    panel1.Controls.Add(textbox); 

    return textbox; 
} 
+0

Thankuu. Но позже мне нужно принять значение этих текстовых полей. 'string name = textbox1.Text; string sum = textbox2.Text; 'как я могу это сделать, если имена текстовых полей одинаковы? – Harikeinas

+0

Вы можете заставить метод возвращать объект текстового поля, если хотите. Я обновлю свой ответ, чтобы показать вам. – itsme86

+0

@Harikeinas Проверьте отредактированный ответ. – itsme86