PDA

View Full Version : چطور به متدهای مربوط به فرم کد اضافه کنم؟



vahid2112
شنبه 07 بهمن 1391, 03:20 صبح
سلام
فرم متدهایی داره
مثلا:
BeginInvoke
close
Focus
OnActivated
و....
چطور میتونم به این متدها کد اضافه کنم؟
مثلا متد close ، چطور میتونم تغییراتی در این متد انجام بدم؟
مثلا میخام هرموقع متد close فراخوانی شد یه مسیج باکس نشون بده(مثال زدم،میدونم که از رویداد form_closing میشه استفاده کرد.)

حالا چیکار باید بکنم؟

mmd2009
شنبه 07 بهمن 1391, 05:08 صبح
با سلام

اگر میخوایید این کارو واسه کل فرماتون به یک صورت انجام بدید فرضا میتونید به این شکل انجام بدید که یک کلاس ایجاد کنید که از Form ارث بگیره و مدتها رو طبق خواسته ی خودتون override کنید مثلا به این شکل :


public class Template : Form
{
protected override void OnClosing(CancelEventArgs e)
{
DialogResult dialogResult = MessageBox.Show("Test", "Test", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.No)
{
e.Cancel = true;
}
}

public override void Refresh()
{
Controls.OfType<TextBox>().ToList().ForEach(d => d.Text = string.Empty);
}
}


حالا کافیه این کلاس رو به یک Form ارث بدید. نتیجه رو میبینید.

برای مثال به این شکل :


public partial class Form1 : Template
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Refresh();
}
}


موفق باشید