私は下のコードでボタンを作成しました。ボタンの左下隅にラベルが作成されています。コードはうまく動作しますが、ユーザーがラベルをクリックしたときにボタンに応答はありません。 。ボタンのラベル
カスタムボタン:
public class CustomButton : System.Windows.Forms.Button
{
private System.Windows.Forms.Label lb = new System.Windows.Forms.Label();
public CustomButton(){
this.Width = 120;
this.Height = 65;
this.Font = new System.Drawing.Font(this.Font.FontFamily, 24);
lb = new System.Windows.Forms.Label();
lb.Font = new System.Drawing.Font(lb.Font.FontFamily, 9);
lb.Location = new System.Drawing.Point(4,35);
lb.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
lb.BackColor = System.Drawing.Color.Transparent;
lb.Width = 70;
this.Controls.Add(lb);
}
public System.Windows.Forms.Label getLb()
{
return lb;
}
public System.Windows.Forms.Button get_btn()
{
return this;
}
}
のWinForm:
public CustomButton[,] bt = new CustomButton[13,32];
public FormClient()
{
bt[0, 0] = new CustomButton();
bt[0, 0].Click += new EventHandler(button_Click);
}
public void button_Click(object sender, EventArgs e)
{
//my code//
}
ボタンイベントハンドラをラベルに割り当てることはできませんか? – EpicKip
ボタンクリックイベントを発生させるCustomButtonのlabelクリックでeventHandlerを追加するだけです – VDN
'lb.Width = 70; lb.Click + = this.Click; this.Controls.Add(lb); ' – TaW