Odwoływanie się (przechodznie) z różnych okien form do jednego.

0

Mam kilka form.

FormGłówna
FormLista
FormListaDokumentów
FormDokument

I tak:
Z FormGłowna Wchodzę w FormLista

 
frmLista Lista;
Lista = new frmLista(this);
Lista.ShowDialog();

I jest ok.

Ale jak wejdę z FormGłówna do FormListaDokumentów potem z niej do FormDokument i z niej chcę przejść do FormLista, dostaję błąd:
Error 1 'WindowsFormsApplication1.frmLista' does not contain a constructor that takes 0 arguments...

Co jest nie tak?

0

Co jest nie tak?

Pewnie zaginą Ci gdzieś taki konstruktor albo go zmieniłeś.

public partial class frmLista : Form
{
	public frmLista()
	{
	    InitializeComponent();
//...
	}
//...
}
0

Mam tak:

public frmLista(frmGlowne OknoGlowne, frmDokument OknoDokument)
        {
            InitializeComponent();
            frmGlowne = OknoGlowne;
            frmDokument = OknoDokument;
        }
1

To zrób tak:

public partial class frmLista : Form
{
    public frmLista()
    {
        InitializeComponent();
    }
    public frmLista(frmGlowne OknoGlowne, frmDokument OknoDokument) : this()
    {
         frmGlowne = OknoGlowne;
         frmDokument = OknoDokument;
     }
}

Gdzieś masz wywołanie w stylu:

frmLista Lista = new frmLista();
0

Dobra znalazłem w necie rozwiązanie.
W frmGlowna musze dać:

Lista = new frmLista(this, null); 

A w frmDokument:

 Lista = new frmLista(null, this);

I na pierwszy rzut oka działa ok. Ale ponieważ dopiero poznaję C# powiedzcie co to daje? I czy jak z innego okna będę chciał dostać się do frmList czy tak samo zadziała?

0

DibbyDum No w obu przypadkach miałem

new frmLista(this);

1 użytkowników online, w tym zalogowanych: 0, gości: 1