Tabcontrolを使用していて、すべての新しいTabpageのクラスを作成しました。たとえば、新しいタブページを開くと、クラスはコントロールを作成して配置します。
bttn1 = new Button();
bttn1.Name = "button1";
bttn1.Text = "Start";
bttn1.Location = new Point(3, 405);
bttn1.Size = new Size(75, 23);
tp.Controls.Add(bttn1);
だから私の質問は、このボタンがクリックされているかどうかをどのように確認できますか?
また、私の他の質問は、タイマーティックイベントでも同じです。
Click
コードからボタンのイベントに簡単にアタッチできます。
bttn1.Click += new EventHandler(butt1_Click);
そして、これがハンドラーです:
void button1_Click(object sender, EventArgs e)
{
// ...
}
Visual Studioは、を入力するときに役立ちますClick +=
。を入力した後+=
、Tabキーを2回押して、ハンドラーを取得します。
UserControl
このためにを作成したか、TabPage
クラスをサブクラス化してコントロールを作成したことを願っています。Click
この新しく作成されたクラスのボタンのイベントは、作成した新しいイベントを通じて公開する必要があります。
public class MyTabPage : TabPage
{
private Button bttn1;
public event EventHandler Button1Clicked;
public MyTabPage()
{
bttn1 = new Button();
bttn1.Name = "button1";
bttn1.Text = "Start";
bttn1.Location = new Point(3, 405);
bttn1.Size = new Size(75, 23);
bttn1.Click += bttn1_Click;
this.Controls.Add(bttn1);
}
void bttn1_Click(object sender, EventArgs e)
{
OnButton1Clicked();
}
protected virtual void OnButton1Clicked()
{
var h = Button1Clicked;
if (h != null)
h(this, EventArgs.Empty);
}
}
これで、のインスタンスを作成するときMyTabPage
に、Button1Clicked
イベントにハンドラーをアタッチできます。
MyTabPage page = new MyTabPage();
page.Button1Clicked += page_Button1Clicked;
tabControl.TabPages.Add(page);
...
void page_Button1Clicked(object sender, EventArgs e)
{
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加