Archief - [PROG][C#] Verwijzen naar control op ander formulier

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

VenomGameworld

Legacy Member
Hi,

Ik wil in mijn applicatie vanuit Form2 een item toevoegen aan een Listbox die zich op Form1 bevindt. Vroeger toen ik in VB programmeerde had ik dit probleem ook eens gehad en had het toen opgelost met deze Class:

Code:
Public Class Class1
    Private Shared m_instForm1 As Form1
    Public Shared Property instForm3() As Form1
        Get
            Return m_instForm1
        End Get
        Set(ByVal Value As Form1)
            m_instForm1 = Value
        End Set
    End Property
End Class

Nu heb ik al meerdere malen geprobeerd om deze te converteren naar C#, maar dit wil nog niet goed lukken. Is er iemand die hiermee kan helpen, of is er een efficiëntere oplossing?
Bij voorbaat bedankt!

Dit is hetgeen dat ik al had (niet dat het veel of van goeie kwaliteit is...)

Code:
    class Class1
    {
        public static Form1 m_instForm1;

        public static Form1 instForm1()
        {
            Form1 get()
            {
                return m_instForm1;
            }
        }
    }

[AiR] LeViaTHaN

Legacy Member
Wat ik zou doen:

Maak in de form (form2) waar je uw item toevoegt aan de listbox een property die het item bevat dat je wil toevoegen. In je parent (form1) kan je dan via form2.<property> het items ophalen dat je hebt toegevoegd. Zo hoeft je form2 geen weet te hebben van zijn oproepende form, dat wil je niet hebben want als je de form wil herbruiken zal dit niet zonder slag of stoot kunnen.

Hoop dat dit je wat verder helpt, als je het niet snapt post ik wel een snel code voorbeeldje ;)

VenomGameworld

Legacy Member
Ik volg gedeeltelijk (denk ik).
Ik heb nu deze class:

Code:
    class ClassKey
    {
        private string item;
        public string getItem
        {
            get
            {
                return item;
            }
            set
            {
                item = value;
            }
        }
    }

Waar het item aan de listbox moet toegevoegd worden (in de code van Form2) staat nu:

Code:
ClassKey toevoegen = new ClassKey();
toevoegen.getItem = samenvoegen;

Maar wat nu? (Volgens mij heb ik iets verkeerd gedaan?)
In ieder geval bedankt voor de hulp!

[AiR] LeViaTHaN

Legacy Member
Form1 roept Form2 op op deze manier:
Code:
            Form2 invoerForm = new Form2();
            invoerForm.ShowDialog();

            listBox1.Items.Add(invoerForm.Item);

Item is een property gedefinieerd op Form2 op deze manier:

Code:
        public string Item
        {
            get
            {
                return textBox1.Text;
            }
        }

Ik heb een simpele textbox als invoer gebruikt maar je kan hier uiteraard je eigen implementatie van maken.

Begrijp je het? Anders post ik nog een voorbeeldje ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan