Есть несколько способов сделать это. Один из них - иметь Dictionary<Button, TextBox>
, который содержит ссылку между кнопкой и связанным текстовым полем, и использовать ее в событии щелчка для кнопки (обе кнопки могут быть подключены к одному и тому же обработчику событий):
public partial class TheForm : Form
{
private Dictionary<Button, TextBox> _buttonToTextBox = new Dictionary<Button, TextBox>();
public Form1()
{
InitializeComponent();
_buttonToTextBox.Add(button1, textBox1);
_buttonToTextBox.Add(button2, textBox2);
}
private void Button_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
_buttonToTextBox[sender as Button].Text = ofd.FileName;
}
}
}
Конечно, приведенный выше код должен быть украшен нулевыми проверками, хорошей инкапсуляцией поведения и т. Д., Но вы поймете идею.