2016/07/21

メモ:C# 同じ動作を異なるイベントハンドラで使いまわす

senderからコントロールを判断

private design()
{
 Panel panelBox = new Panel();
 panelBox.Left = 0;
 panelBox.Top = 0;
 panelBox.Width = 100;
 panelBox.Height = 100;
 panelBox.MouseClick += Panel_Text_Btn_Click;
 panel1.Controls.Add(panelBox);

 TextBox textBox1 = new TextBox();
 textBox1.Text = "Tom and Jelly";
 textBox1.Enter += Panel_Text_Btn_Click;
 panelBox.Controls.Add(textBox1);

 Button button1 = new Button();
 button1.Text = "OK";
 button1.MouseHover += Panel_Text_Btn_Click;
 panelBox.Controls.Add(button1);

}

void Panel_Text_Btn_Click(object sender, MouseEventArgs e)
{
 Control senderCtrl = (Control)sender;
 senderCtrl.BackColor = Color.Pink;
//呼ばれたコントロールの背景色を変える
}

0 件のコメント:

コメントを投稿