質問: ``` private void button1_Click(object sender, EventArgs e) { テキストボックス入力(); } public static void テキストボックス入力() { //textbox1に入力するには? } ``` 部品のオブジェクトを引数にして渡して操作するしかないのでしょうか?
回答: 一般論としてコントロールを`public`メソッドに渡すような設計はあまり推奨できません。 もっとも簡潔な回避方法としては引数に`textbox1.Text`として渡し、戻り値を`textbox1.Text`に設定することです。 ``` public static string テキストボックス入力(string text); private void button1_Click(object sender, EventArgs e) { textbox1.Text = テキストボックス入力(textbox1.Text); } ``` またより抜本的な修正方針としては * データバインド.aspx)を用いる * (適切な用途であれば)`IExtenderProvider`を実装する などが挙げられますが、どちらもそれなりに工数がかかります。