PDA

View Full Version : سوال: Constructor on type 'WindowsFormsApplication1.Form1' not found.



reza_Nazem
سه شنبه 29 دی 1388, 11:34 صبح
دوستان من یک فرم دارم (Form1 ) که دارای یک سازنده به شکل زیر دارد

public Form1(string str)
حالا یک فرم دیگر دارم (Form2) که از From1 به ارث برده شده و سازنده آن به شکل زیر می باشد

public Form2(string V, string v1) : base(V)
سوال اول : همه چیز درسته فقط حالت design مربوط به From2 باز نمی شود و خطای زیر را می دهد

Constructor on type 'WindowsFormsApplication1.Form1' not found.
سوال دوم :
در Form1 یک رویداد مربوط به کلیک یک button وجود دارد و دارای یک سری کد است
حالا من در form2 میخوام یک سری کد جدید به این event اضافه کنم ولی حتما می خواهم قبل از کد نوشته شده در form1 اجرا بشه چه طوری می توانم این کار رو انجام بدهم

SMRAH1
سه شنبه 29 دی 1388, 20:04 عصر
سلام

1) VS برای نمایش فرم در حالت Design بدنبال یک سازنده بدون پارامتر در فرم 1 می گرده و اون رو پیدا نمی کنه (چون تنها سازنده این کلاس یک آرگومان می گیره!).خوب برای حل مشکل یک سازنده بودن آرگومان براش آماده کن.برای اینکه در برنامه هم استفاده نشه می تونی اون رو Private کنی یعنی:

private Form1()
{
}و بعد کل پروژه رو Rebuild کن تا مشکل حل بشه.
2) اگر فرض کنیم که دکمه مورد نظر در فرم یک به متد btn_Click وصل شده باید یک تابع virtual در فرم یک معرفی و در فرم2 اون رو رونویسی کنی یعنی:
public partial class Form1 : Form
{
....
private void btn_Click(object sender, EventArgs e)
{
DoSomthing();
}

protected virtual void DoSomthing()
{
//Action in form1
}
....
}

public partial class Form2 : Form1
{
....
protected override void DoSomthing()
{
//First action in form2
base.DoSomthing(); //Next action in form1
}
....
}
موفق باشی