سلام برادر من.
شما در برنامه میان از کلاس Factory یک شی میسازید به این شکل
Factory F; // ساخت کارخانه
ولی new نمیکنید و در جای دیگر از برنامه new میشه خوب معلومه که باید پیغام خطا بده چون کلاسی در حافظه وجود ندارد فقط تعریف شده.
شما دارید اینجا new می کننید.
private void button1_Click(object sender, EventArgs e)
{
if (error) // بررسی تکراری بودن آژانس
{
MessageBox.Show("آژانس قبلا ثبت شده است");
}
else
{
F = new Factory(txtFactoryName.Text, txtFactoryAddrres.Text, txtFactoryPhone.Text, txtFactoryManager.Text);
MessageBox.Show("آژانس اضافه شد");
error = true;
}
txtFactoryName.Clear();
txtFactoryAddrres.Clear();
txtFactoryPhone.Clear();
txtFactoryManager.Clear();
}
در صورتی که برنامه شما اینجا دارید از F استفاده می کنید
private void btWorkerSabt_Click(object sender, EventArgs e)
{
bool bl = F.Checkworker(txtWorkerCode.Text);
if ( bl == true)
{
F.addworker(txtWorkerName.Text, txtWorkerMelicode.Text, txtWorkerPhone.Text, txtWorkerCode.Text,
txtWorkerClock.Text, txtWorkerCodebakhsh.Text);
MessageBox.Show("کارمند با موفقیت ثبت شد");
}
else
MessageBox.Show("کد کارمندی قبلا ثبت شده است");
txtWorkerClock.Clear();
txtWorkerCode.Clear();
txtWorkerCodebakhsh.Clear();
txtWorkerMelicode.Clear();
txtWorkerName.Clear();
txtWorkerPhone.Clear();
}
شما باید جایی عمل new کردن را انجام بدین که در برنامه بشه همه جا استفاده کرد در همان جایی که تعریف میشه یه در Form_Load.
راستی چرا سازنده پیش فرض رو پاک کردی؟؟؟