アプリ版:「スタンプのみでお礼する」機能のリリースについて

ファイルをドラッグ&ドロップした場合のそのファイル名を追加するTextBoxが2つあります。
今は、まったく同じプログラムを2つ書いていますが、これらをまとめられませんか?
つまり、下記プログラムの
 textBox1.AppendText(file_name + "\r\n");
の「textBox1」の部分を、「イベントがあったTextbox」にしたいのです。

------------------
private void textBox1_DragDrop(object sender, DragEventArgs e)
{
foreach (string file_name in (string[])e.Data.GetData(DataFormats.FileDrop))
textBox1.AppendText(file_name + "\r\n");
}
private void textBox2_DragDrop(object sender, DragEventArgs e)
{
foreach (string file_name in (string[])e.Data.GetData(DataFormats.FileDrop))
textBox2.AppendText(file_name + "\r\n");
}

A 回答 (1件)

object senderにイベントの発生したオブジェクトが入っています。


今回の場合はドロップしたコントロールが。

TextBox Target = (TextBox)sender;
として、
Target.AppendText(file_name + "\r\n");
と記述し、textBox1とtextBox2のハンドラを同じものを指定すればよいかと。
    • good
    • 0
この回答へのお礼

助かりました

素早い、回答ありがとうございます。

なるほど!!
sender をTextBoxに型変換すれば、「イベントがあったTextbox」になるのですね。
さっそく、書き換えてみて、正常に動作すること確認できました。

お礼日時:2015/07/07 09:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!