Fenêtre Modulaire [Résolu]

Messages postés
18
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
7 novembre 2012
- - Dernière réponse : Tupad
Messages postés
239
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
27 août 2012
- 2 avril 2012 à 15:36
Salut à tous j'ai un petit Soucis actuellement en C# je suis un jeune pratiquant du language. J'ai un Grand soucis.

dans mon Form1 je crèe
DateTimePicker1 qui est est ma date de départ
DateTimePicker2 qui est ma date d'arrivée.
je calcule la difference de jour entre mon départ et mon arrivé que j'affiche dans mon TextBox que je nomme Durée.

J'ai ensuite mon Bouton(nommé generer sous-form)qui par un click me permet de generer une nouvelle fenetre en principe que je veux conciderer comme le fils de ma form1 sachant que si j'essaie de donner une un départ qui est avant celui du père ou l'arriver après celui du père je dois recevoir une message d'erreur. En Fait la durée du Fils doit être dépendante de la durée de celui qui l'a generer.

Voici le bout de code redigé mais celà n'aboutit à rien. Quelqu'un peut il m'aider SVP?
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            if (this.Parent != null)
            {
                this._AnfangDatum.MinDate = ((Form1)this.Parent)._AnfangDatum.Value;
                this._EndeDatum.MaxDate = ((Form1)this.Parent)._EndeDatum.Value;
            }
            else
            { }
        }

        private void _Start_CheckedChanged(object sender, EventArgs e)
        {
            if (_Start.Checked true && _Bestätigen.Checked false)
            {
                _AnfangDatum.Enabled = true;
            }
            else
            {
                _AnfangDatum.Enabled = false;
            }
        }

        private void _Ende_CheckedChanged(object sender, EventArgs e)
        {
            if (_Ende.Checked true && _Bestätigen.Checked false)
            {
                _EndeDatum.Enabled = true;
            }
            else
            {
                _EndeDatum.Enabled = false;
            }

        }

        private void _Bestätigen_CheckedChanged(object sender, EventArgs e)
        {
            if (_Bestätigen.Checked == true)
            {
                DateTime start = new DateTime(_AnfangDatum.Value.DayOfYear);
                DateTime ende = new DateTime(_EndeDatum.Value.DayOfYear);
                _Ende.Checked = true;
                _Start.Checked = true;
                /*_Dauer.Text = start.Date.Ticks.ToString();
                _Dauer.Text =/ende.Date.Ticks.ToString();*/
                TimeSpan diff =  ende.Subtract(start);
                
                _Dauer.Text = diff.Ticks.ToString();

            }
            else
            {
                _Ende.Checked = false;
                _Start.Checked = false;
            }
        }

        private void _Dauer_TextChanged(object sender, EventArgs e)
        {
           /* DateTime start = new DateTime();
            DateTime ende = new DateTime();
            _Dauer.Text = start.Ticks.ToString();

            TimeSpan diff = new TimeSpan();
            diff = ende.Subtract(start);*/
            
        }

        private void _erzeugen_Click(object sender, EventArgs e)
        {
            Form1 kind = new Form1();
           kind.Parent = this;
            kind.ShowDialog(this);
            
        }
    }


Merci d'avance.



The Righteous will live by faith.
Galatians 3:12
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
239
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
27 août 2012
5
3
Merci
Pourquoi tu ne surcharge pas le constructeur de ta form1?

 public Form1()
{
    InitializeComponent();
}

 public Form1(DateTime anfgang, DateTime ende)
:this()
        {
            if (anfgang != null && ende != null)
            {
                this._AnfangDatum.MinDate = anfgang;
                this._EndeDatum.MaxDate = ende;            }
}

private void _erzeugen_Click(object sender, EventArgs e)
        {
            Form1 kind = new Form1(this._AnfangDatum.Value, this._EndeDatum.Value);
           kind.Parent = this;
            kind.ShowDialog(this);
        }

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Tupad
Messages postés
18
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
7 novembre 2012
0
Merci
Merci Tupad, exactement ce que je me suis representer.
s'il te plait je me retouve dans un dileme. J e veux être capable de generer plusiers fenêtres enfant à base d'une seule fenêtre parent.

en fait mon but est de pouvoir mettre en place un petit plan de reseau
dans la preparation d'un projet. c'est à dire pouvoir planifier les differentes étapes pour le cheminement à bon terme de tout mes projets élaborés.


Merci encor de ton aide.




The Righteous will live by faith.
Galatians 3:12
Commenter la réponse de stephaneLeonelY
Messages postés
239
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
27 août 2012
5
0
Merci
Pourquoi vouloir faire absolument des forms? Pas moyen de se débrouiller avec des controls, usercontrols, panel???
Commenter la réponse de Tupad