私はLabel
クラスを拡張していますプロパティへの参照がある場合、包含オブジェクトへの参照を取得する方法はありますか?次のように
public class MyLabel: Label {
public Button btn;
public string mydata;
}
を私のメインプログラムでは、私は新しいインスタンスをインスタンス化:
MyLabel lbl = new MyLabel();
lbl.mydata = "some data here";
lbl.btn = new Button();
lbl.btn.Click += new EventHandler(button_pressed);
this.Controls.Add(lbl); // Adds the label to the form
this.Controls.Add(lbl.btn); // Adds the button to the form
をそして私は、ボタンのクリックイベントを処理するメソッドを作成しました:
void button_pressed(Object sender, EventArgs e) {
Button btn = (Button)sender;
//Now I have an access to the property within MyLabel instance.
// but how can I access the parent object?
// I need to access the sibling property [mydata] string from here
btn.Siblings["mydata"] = "some other thing" ; //Something like this
MyLabel lbl = btn.ParentObject(); //Or something like this
lbl.mydata = "Some other thing";
}
親ラベルクラスへの参照を保持する拡張ボタンクラスを作成する必要があります –
なぜUserControlを記述しませんか? – Steve