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

Odpowiedz Nowy wątek
2015-01-07 23:05
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?

Pozostało 580 znaków

2015-01-07 23:22
0

Co jest nie tak?

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

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

Yubby dibby dibby dibby dibby dibby dibby dum..

Pozostało 580 znaków

2015-01-07 23:27
0

Mam tak:

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

Pozostało 580 znaków

2015-01-07 23:34
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();

Yubby dibby dibby dibby dibby dibby dibby dum..
edytowany 1x, ostatnio: DibbyDum, 2015-01-07 23:34

Pozostało 580 znaków

2015-01-07 23:34
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?

Pozostało 580 znaków

2015-01-07 23:36
0

DibbyDum No w obu przypadkach miałem

new frmLista(this);

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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