|
■No76001 (pod さん) に返信 > パネルは Panel を継承した独自クラスで、コンストラクタで自動的にラベルを作成して自身に追加してあります。 > ラベルをクリックした際に、座標入力用ダイアログを表示してその結果を元にパネルをの位置を変更しようと思うのですが、
仕様を読み解ききれているかは自信がありませんが、 私はこのようなコードをイメージしました。
/// ---------------------------------------- public Form1() { InitializeComponent(); this.originalPanel1.LabelClick += originalPanels_LabelClick; this.originalPanel2.LabelClick += originalPanels_LabelClick; this.originalPanel3.LabelClick += originalPanels_LabelClick; }
public originalPanels_LabelClick(object sender, LabelClickEventArgs e) { var panel = (OriginalPanel)sender; int labelIndex = e.LabelIndex; Point pos = e.MouseLocation;
using(var dlg = new 座標入力用ダイアログ(e)) { if(dlg.ShowDialog() == DialogResult.Cancel) return;
var 新しい座標 = dlg.NewPosition; panel.Locaption = 調整処理(新しい座標); } } /// ----------------------------------------
|