IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

[WPF]Debutant plusieurs form


Sujet :

Windows Presentation Foundation

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Points : 414
    Points
    414
    Par défaut [WPF]Debutant plusieurs form
    Bonjour
    Désolé si la question a déjà été posée mais je ne l'ai pas trouvé
    Comme c'est indiqué, je débute avec WPF donc soyez indulgents.
    Mon problème est le suivant. J'ai un form principal qui contient plusieurs textbox et une form secondaire qui s'ouvre dans certaines conditions.
    J'ai réussi à afficher la seconde form en l'appelant depuis le form principal, mais je suis dans l'incapacité de renvoyer les informations sélectionnées dans cette form vers ma form principale.
    (j'espère avoir été assez clair )
    Voila mon code

    form principale (je n'ai laissé que la textbox concernée)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <Window x:Class="gaz"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Arcalia Gaz :Etat de l’installation intérieure de gaz" Height="700" Width="1077" Name="diaggaz">
        <Grid Background="LightBlue" Width="1073">
            <!--panel pour les informations-->
            <StackPanel Name="panel_data" Width="230" HorizontalAlignment="Left" Margin="0,0,0,74">
                <!--groupbox pour les informations du demandeur-->
                <GroupBox Name="gb_demandeur" Width="225" Height="130" BorderBrush="Black">
                    <Grid Height="130" Width="225">
    [...]
                        <Label HorizontalAlignment="Left" Width="75" Height="22" VerticalAlignment="top"  Margin="0,60,0,0" Content="Commune"/>
                        <TextBox Height="18" VerticalAlignment="Top" Margin="70,65,17,0" Name="txt_commune" BorderBrush="Black" />
    [...]
                    </Grid>
                  </GroupBox>
               </StackPanel>
    </Window>
    code pour la form secondaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <Window x:Class="ville"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ville" Height="300" Width="300">
        <Grid Background="LightBlue">
            <Label Height="30" Width="300" FontSize="15" VerticalAlignment="Top" Content="Liste des villes"/>
            <ListBox Height="200" BorderBrush="Black" Name="lstville"/>
            <Button Name="btn_ok" Height="30" VerticalAlignment="Bottom" Background="AliceBlue" BorderBrush="Black" Content="Valider"/>
        </Grid>
    </Window>
    code qui doit normalement remplir la textbox de la premiere form avec l'element selectionné dans la listbox de la seconde form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Public Sub btn_ok_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btn_ok.Click
    [...]
                gaz.txt_commune.Content = lstville.SelectedItem.ToString
    [...]
        End Sub
    et l'erreur que je recoit dans les dents en retour :

    Error 1 Reference to a non-shared member requires an object reference. C:\Documents and Settings\YLN\Mes documents\Visual Studio 2008\Projects\DiagGaz\DiagGaz\ville.xaml.vb 10 13 DiagGaz
    Dans l'attente de votre aide
    Cordialement
    Nasty
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'TODO : trouver une signature mieux que celle la

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    ca c'est une question que je pose généralement dans une formation que je fais comment faire cela
    il a conceptuelement plusieurs solution
    - passer un object de la form1 a la forme2 a la construction
    - mettre un message qui sera capture par la form1 qui existe dans la forme2
    - avoir un object commun pour les deux formes

    dans le cas de wpf avec le binding le mieux c'est la première solution
    tu as dans ta premiere forme une classe
    sur laquel tu bind ton lable et ta texte box
    quand tu construit la form2
    tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    windows2 x = new window2(ma classe);
    et tu construit le binding en ccode dans le contrscteur apres le initialize

    par contre ca ne permet pas de faire un cancel efficasse

    autre solution
    c'est d'avoir deux fois le meme classe sur f1 et f2
    tu passe toujours la classe dans le constructeur
    mais
    si l'utilisateur tape sur ok
    tu fait dans la classe
    un maclassed_de_f1.copyfrom(mac classe_de_f2)

    bon j'esper que je suis assez clair
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Points : 414
    Points
    414
    Par défaut
    Tout d'abord merci pour ta réponse ikeas!
    Je ne suis pas sur d'avoir tout compris . mais au moins j'ai des pistes.
    Encore merci
    Cordialement
    Nasty
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'TODO : trouver une signature mieux que celle la

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 16/09/2005, 17h43
  2. variable globale pour plusieurs Form
    Par ced2004 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/04/2005, 08h50
  3. Réponses: 3
    Dernier message: 02/12/2004, 08h50
  4. Comment mettre le même TMainMenu dans plusieurs Form ?
    Par gmc dans le forum Composants VCL
    Réponses: 6
    Dernier message: 12/08/2004, 21h03
  5. Réponses: 15
    Dernier message: 21/06/2004, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo