カスタム コントロールにいくつかのボタンを追加するメソッドがあります。各ボタンに、そのボタンの詳細を表示するメッセージ ボックスをポップアップ表示するイベント ハンドラーが必要です。
以下のコードを書きましたが、追加したすべてのボタンは、..の最後のボタンに関する詳細を表示List<Pin>
しpin
ます。
public void Populate(List<Pin> pins)
{
_pins = pins;
var count = _pins.Count;
var location = new Point(5, 5);
foreach (var pin in _pins)
{
var button = new Button();
button.Text = pin.Name;
button.Name = "buttonPin_" + pin.Name;
button.Click += delegate
{
MessageBox.Show(pin.Name + Environment.NewLine + pin.Batch);
};
button.Size = new Size(30, 30);
button.Location = location;
location.X += 30;
if (location.X > Width) location = new Point(5, location.Y + 35);
Controls.Add(button);
}
}