tweede form openen

Status
Niet open voor verdere reacties.

old Hippy

Gebruiker
Lid geworden
24 mei 2008
Berichten
911
Hallo allemaal

ik ben net begonnen met C#

en wil graag van uit mijn form1 met een button mijn form2 wordt geopenend.
en als ik form2 sluit dat er dan in form1 een label of iets anders visible word gemaakt .

hopelijk kan iemand mij op weg helpen???
 
HI Heb dit gevonden.

maar het label wil nog niet zichtbaar worden.
deze code staat in form2.

Code:
 private void buttonX1_Click(object sender, EventArgs e)
        {
            if (textBoxX1.Text == textBoxX2.Text)
            {
             Form1 form1 = new Form1();
             form1.Show();
             Form1 Label1 = new Form1();
             Label.Visible = true;
       // this.Close();      
            
            }
 
Waarom zet je in een controle structuur dat textbox1.text gelijk moet zijn aan textbox2.text ?
dit kan je ook gewoon doen zonder die controle structuur ;)

Code:
             Label.Visible = true;
vervangt dit eens door
Code:
             Label1.Visible = true;
Maar je moet zien welke naam u label heeft.
 
Laatst bewerkt:
Hallo jimowns Bedankt voor de reactie.
het staat in de controle structuur om dat het pas mag werken als aan die voorwaarde is voldaan.

maar het werkt nog steets niet.
het label blijft False
 
nu ik u code terug beter bekeken heb zie ik een nieuwe declaratie van Form1
Code:
Form1 Label1 = new Form1();

Je hebt Label1 als declaratie van de form en Label1 in u GUI.
Dit maakt foutjes uiteraard ;)
Verwijder die lijn maar van nieuwe declaratie van Form1.
 
Laatst bewerkt:
Hi jimowns
Het is mijn eerste projectje in C#.

maar het werkt niet zo als ik verwacht.
het is een progje om films af te spelen.
deze worden in een database gezet.
zo dat de kinderen zelf kunnen kiezen welke films ze willen zien.

Het tweede form is een inlogform.
En dient om de database bewerking te kunnen Activeren.
uiteraard wil ik alleen daar toegang voor hebben.
dus bepaalde buttons moeten zichtbaar worden. in form1.
Als test voorlopig label1
dus als textbox1 het zelfde is als textbox2

hier mijn code tot nu toe.

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Datavideo
{
    public partial class Form2 : DevComponents.DotNetBar.Office2007Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
         // haald de setting op
           this.textBoxX2.Text = Properties.Settings.Default.password;
            if (textBoxX2.Text == "")
            {
                textBoxX2.Visible = true;
            }
            else
                textBoxX2.Visible = false;
        }
              
        private void reflectionLabel1_DoubleClick(object sender, EventArgs e)
        {
            textBoxX2.Visible = true;
        }
       
        private void textBoxX1_TextChanged(object sender, EventArgs e)
        {
            if (textBoxX1.Text == textBoxX2.Text)
            {
              
                //this.Hide();
                this.Close(); 
            }
        }
        private void buttonX1_Click(object sender, EventArgs e)
        {
              this.Close();
        }
        private void Form2_FormClosing_1(object sender, FormClosingEventArgs e)
        {
           Form1 Label1 = new Form1();
                Label1.Visible = true;
                MessageBox.Show("proef");
   
            Properties.Settings.Default.password = textBoxX2.Text; Properties.Settings.Default.Save();
        }  
    }

    }
 
Hey old hippy ;)

Ik veronderstel dat je maar 1 button hebt ?

je moet reageren op gebeurtenissen.
Daar bedoel ik mee dat je de methodes moet gaan verbinden, in de Button1_Click methode.



Mvg, Jim
 
Hi even wat afbeeldingen
in knipsel het opstart scherm
knipsel2 geeft de button die form2 opend.

normaal zijn alleen buton bewerk en kleur zichtbaar.

als paswoord in knipsel3 goed is moeten de andere buttons visible worden.
normaal false.

hopelijk is dit duidelijk
al vast bedankt voor je hulp zover.

Knipsel.JPG
Knipsel2.JPG
Knipsel3.JPG
 
Dat is niet simpel.
Maar ik weet wel als je de inhoud van de 2 forms wilt weten.
dan ga je naar form1
Code:
    partial class Form1 : Form
    {
        Form2 form2;
        public Form1()
        {
            InitializeComponent();
            form2 = new Form2(this);
        }
     }

en in de andere form.
Code:
    partial class Form2 : Form
    {
        Form1 form1;
        public Form2(Form1 Form01)
        {
            InitializeComponent();
            form1 = Form01;
        }
      }

Ik ga morge eens een applicatie ervan maken ;)

Voor ik het vergeet te zeggen :p.
Je moet dan wel de button public maken.
En dan zal het wel lukken denk ik
 
Laatst bewerkt:
Form2 ::

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.Layout;

namespace WindowsFormsApplication10
{
    partial class Form2 : Form
    {
        Form1 form1;
        public Form2(Form1 Form01)
        {
            InitializeComponent();
            form1 = Form01;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox01.Text == "Pass")
            {
                form1.Show();
                form1.button2.Visible = true;
                form1.button3.Visible = true;
                this.Hide();
            }
        }
    }
}
Form1
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication10
{
    partial class Form1 : Form
    {
        Form2 form2;
        public Form1()
        {
            InitializeComponent();
            form2 = new Form2(this);
            button2.Visible = false;
            button3.Visible = false;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            form2.Show();
        }
    }
}

Dit lukt perfect ;)
Ga naar je form1 en klik op de button en dan ga je naar modifier en maak die public.

Mvg, Jim
 
Laatst bewerkt:
Hi beste jimowns

Even twee formpjes gemaakt je code in geplakt om goed te bedrijpen wat er gebeurd.

krijg echter deze twee Error's

Error 1 'WindowsFormsApplication10.Form1.button2' is inaccessible due to its protection level

en voor button3 dus ook Enig Idee????
 
Probleem blijft

Error 1 'TweeForms.Form1.button2' is inaccessible due to its protection level
 
Ok je link opgehaald dit werkt nu uit vinden waar om bij mij niet.

ik werk met vb2008 standaard

Zover heel hartelijk dank voor je inspanning.
Groeten Ojd Hippy
 
beste jimowns
het gekke is dat als ik in je progje een button toevoeg hij bij mij de fout in gaat.

Error 1 'WindowsFormsApplication10.Form1.button4' is inaccessible due to its protection level

Wat kan hiervan de redezijn??

heb je enig idee of moet ik mijn vb opnieuw installeren????
 
Alleen maar button4 ?
Als je u modifier van button4 niet op public zet dan krijg je geen intelliSense met button4 erin.

ik heb mijn modifier op private gezet en ik heb hetzelfde ;) Dus je bent al heel die tijd vergeten het op public te zetten ;)

Je hebt mijn klein applicatie gedownload, en er staat als comentaar lijn in om u modifier van ' button ' op public te zetten :p
+ op post 11 heb ik het ook eens gezegd :p

En als basis:
Als je een . zet krijg je een intellisence waaruit je kunt kiezen welke mogelijkheid ;)
En dat had je niet en je hebt zomaar dat getypt.


Mvg, Jim ;)
 
Laatst bewerkt:
Dat maakt niets uit ;)
Iedereen maakt wel eens wat foutjes en daar leer je natuurlijk uit ;).


Mvg, Jim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan