Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Windows Phone - C#] Gérer plusieurs boutons à la fois

    15 avril 2012 à 23:09:57

    Bonsoir,

    Question de novice: j'aimerais afficher le résultat obtenu par l'appui d'un bouton, puis la même chose sur un deuxième...

    Si vous ne comprenez pas ma question, regardez le code, vous comprendrez ^^

    <phone:PhoneApplicationPage 
        x:Class="Calculatrice.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
        xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
        FontFamily="{StaticResource PhoneFontFamilyNormal}"
        FontSize="{StaticResource PhoneFontSizeNormal}"
        Foreground="{StaticResource PhoneForegroundBrush}"
        SupportedOrientations="Portrait" Orientation="Portrait"
        shell:SystemTray.IsVisible="True">
    
        <!-- LayoutRoot -->
        <Grid x:Name="LayoutRoot" Background="RoyalBlue">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
    
            <!-- TitlePanel -->
            <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
                <TextBlock x:Name="ApplicationTitle" Text="WINDOWS PHONE 7.1" Style="{StaticResource PhoneTextNormalStyle}"/>
                <TextBlock x:Name="PageTitle" Text="Calculatrice" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
            </StackPanel>
    
            <!-- ContentPanel -->
            <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
                <StackPanel>
                    <TextBlock Text="Entrez le premier nombre : " HorizontalAlignment="Center" />
                    <TextBox x:Name="nb1" />
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <Button Content="+" x:Name="plus" Click="Button_Click" Grid.Column="0" />
                        <Button Content="-" x:Name="moins" Click="Button_Click" Grid.Column="1" />
                        <Button Content="x" x:Name="multip" Click="Button_Click" Grid.Column="2" />
                        <Button Content="/" x:Name="div" Click="Button_Click" Grid.Column="3" />
                    </Grid>
                    <TextBlock x:Name="operateur" Foreground="Blue" FontSize="50" HorizontalAlignment="Center" />
                    <TextBlock Text="Entrez le second nombre : " HorizontalAlignment="Center" />
                    <TextBox x:Name="nb2" />
                    <Button Content="=" />
                    <TextBlock x:Name="resultat" Foreground="Blue" FontSize="50" HorizontalAlignment="Center" />
                </StackPanel>
            </Grid>
        </Grid>
    
    </phone:PhoneApplicationPage>
    

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using Microsoft.Phone.Controls;
    
    namespace Calculatrice
    {
        public partial class MainPage : PhoneApplicationPage
        {
            // Constructeur
            public MainPage()
            {
                InitializeComponent();
            }
    
            private void Button_Click(object sender, RoutedEventArgs e)
            {
    
            }
        }
    }
    

    N'hésitez pas à le dire si vous n me comprenez pas ;)
    • Partager sur Facebook
    • Partager sur Twitter
      2 mai 2012 à 10:20:58

      Pour se faire tu as plusieurs possibilités :
      - Soit tu fais une fonction différente pour chacun des évènements
      - Soit comme tu l'as fait, tous les boutons appellent le même évènement lors du click.

      Dans le second cas, pour déterminer quel bouton a déclenché l'évènement, il suffit de récupérer le nom du bouton via l'objet sender qui est en paramètre de ta fonction.
      • Partager sur Facebook
      • Partager sur Twitter

      [Windows Phone - C#] Gérer plusieurs boutons à la fois

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown