Archief - c# labels in groupbox in combinatie met 3 forms

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.

Gprb_

Legacy Member
Hoi !

Ik ben aan het volgende bezig

3 forms

Main form -opstart
Settings form - word geopend bij menuitemstrip op het main form
Aboutbox - word ook geopend bij menuitemstrip op het main form

Settings ziet er als volgend uit , 3 numeric up and down labels en een OK button.

Wat moet er dus gebeuren bij het kiezen op 1 numeric up and down label van het getal 4 bvb moet er na het klikken op OK op het main form 4 labels aangemaakt worden in de voorziene groupbox.


Ik heb volgende code , maar deze wil aan geen kanten werken , iemand die mij kan helpen ?

Code op het settings form
Code:
MainFrm frm = new MainFrm();
        private void CreateButtonArray(int number)
        {
            
            lbl = new Label[number];
            for (int i = 0; i > lbl.Length; i++)
            {
                lbl[i] = new Label();
                lbl[i].Top = 10 + 55 * i;
                lbl[i].Left = 10 + 15;
                lbl[i].Width = 150;
                lbl[i].Height = 50;
                lbl[i].Text = "Button " + i;
                lbl[i].Tag = i;
                lbl[i].ForeColor = Color.Red;
                lbl[i].BackColor = Color.Red;
                frm.Controls.Add(lbl[i]);
            }

        }
       
        private void btnOkSettings_Click(object sender, EventArgs e)
        {
            int number;
            number = (int)nudAvailableColors.Value;

            CreateButtonArray(number);

        }

Is er ook iemand die mij vertellen kan hoe ik van Form1 naar Form2 , aan de controls geraak van elkaar ?

Bedankt !

spikie

Legacy Member
een snelle manier om waardes van form 1 naar form 2 te krijgen (uitgaande van winforms, geen wpf ofzo)

form 1
Code:
public int GetNumber()
{
//toon deze form
Show();

//dit zal pas uitgevoerd worden als de gebruiker de form sluit
return (int)LabelAantal;
}

form 2
Code:
public void Stuff()
{
Form1 form = new Form1();
int number = form.GetNumber();
}

Gprb_

Legacy Member
Ja dat heb ik ook

Settings form
Code:
public int getNumberOfColors()
        {
            int number = (int)NumericUpAndDown.Value;
            return number;
            
            
        }

        
        private void btnOkSettings_Click(object sender, EventArgs e)
        {
            
            this.Close();
            
            
            

        }


Main form

Code:
 Settings ss = new Settings();
        Label[] lbl;

        public void CreateButtonArray()
        {
            int inumber = ss.getNumberOfColors();
            lbl = new Label[inumber];
            for (int i = 0; i < inumber; i++)
            {
                lbl[i] = new Label();
                lbl[i].Top = 10 + 55 * i;
                lbl[i].Left = 10 + 15;
                lbl[i].Width = 150;
                lbl[i].Height = 50;
                lbl[i].Text = "Button " + i;
                lbl[i].Tag = i;
                lbl[i].ForeColor = System.Drawing.Color.Red;
                lbl[i].BackColor = System.Drawing.Color.Red;
                gbxColors.Controls.Add(lbl[i]);
            }


        }


maar als ik dan terug een object maak van me main form naar die settings dan krijg ik een error.



zo

Settings form

Code:
Form frm = new Form();
        private void Settings_Load(object sender, EventArgs e)
        {
            
        }
        public int getNumberOfColors()
        {
            int number = (int)NumericUpAndDown.Value;
            return number;
            
            
        }

        
        private void btnOkSettings_Click(object sender, EventArgs e)
        {
            
            this.Close();

            frm.CreateButtonArray();
            

        }


Error = stackoverflow error
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