Fenêtre Modulaire

Résolu
stephaneLeonelY Messages postés 18 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 7 novembre 2012 - 1 avril 2012 à 23:03
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

3 réponses

Tupad Messages postés 239 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 27 août 2012 5
2 avril 2012 à 09:19
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);
        }
3
stephaneLeonelY Messages postés 18 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 7 novembre 2012
2 avril 2012 à 14:22
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
0
Tupad Messages postés 239 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 27 août 2012 5
2 avril 2012 à 15:36
Pourquoi vouloir faire absolument des forms? Pas moyen de se débrouiller avec des controls, usercontrols, panel???
0
Rejoignez-nous