2015-03-30 1 views
0

Je travaille sur un programme en C#. J'essaye de faire un programme de connexion simple. Par exemple, lorsque les détails de l'utilisateur sont corrects, puis afficher le contenu de l'élément de l'onglet, si elles ne sont pas correctes, ne pas afficher le contenu de l'élément d'onglet. le code est sousVisibilité du contrôle de connexion et de tabulation

<Grid.RowDefinitions> 
     <RowDefinition Height="30"/> 
     <RowDefinition Height="60"/> 
     <RowDefinition Height="60"/> 
     <RowDefinition Height="50"/> 
     <RowDefinition Height="30"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <StackPanel Grid.Row="1" Orientation="Horizontal"> 
     <Label Name="lbluser" Content="User" Height="30" Width="50" /> 
     <TextBox Name="txtuser" Width="180" Height="30"/> 

    </StackPanel> 
    <StackPanel Grid.Row="2" Orientation="Horizontal"> 
     <Label Name="lblpass" Content="Password" Height="30"/> 
     <PasswordBox Name="psw" Height="30" Width="180"/> 
    </StackPanel> 
    <StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Center"> 
     <Button Name="btnclick" Content="Click" Width="80" Height="30" Click="btnclick_Click" /> 
     <Button Name="btncancel" Content="Cancel" Width="80" Height="30" Margin="10,0,0,0" Click="btncancel_Click" /> 
     <Button Name="btnclose" Content="Close" Width="80" Height="30" Margin="10,0,0,0" Click="btnclose_Click" /> 
    </StackPanel> 
    <StackPanel Grid.Row="4" > 
     <TextBox Name="txtres" Height="30" Width="200"/> 
    </StackPanel> 
    <StackPanel Grid.Row="5"> 
     <TabControl Margin="0,10,0,0"> 
      <TabItem Header="Tab I" > 
       <StackPanel> 
        <TextBox Name="txt1" Width="250" Height="30"/> 
        <Button Name="btn1" Width="80" Height="30" Content="Display"/> 
       </StackPanel> 
      </TabItem> 
     </TabControl> 
    </StackPanel> 

le code derrière

 { 
     InitializeComponent(); 
    } 

    private void btnclick_Click(object sender, RoutedEventArgs e) 
    { 
     { 
      if (txtuser.Text == "TEST" && psw.Password == "TEST") 
      { 
       txtres.Text = " You are logged in"; 
       txtres.Foreground = Brushes.Green; 
       txtres.FontSize = 14; 
       MessageBox.Show("You are logged in"); 
      } 

      else 
      { 
       txtres.Text = " You are not logged in"; 
       txtres.Foreground = Brushes.Red; 
       txtres.FontSize = 14; 
       MessageBox.Show("You are not logged in"); 
      } 
     } 
    } 

    private void btncancel_Click(object sender, RoutedEventArgs e) 
    { 
     txtuser.Text = ""; 
     psw.Password = ""; 
    } 

    private void btnclose_Click(object sender, RoutedEventArgs e) 
    { 
     Application.Current.Shutdown() 
    } 
} 
    } 
+0

Et quel est exactement le problème? –

+0

J'ai besoin du code pour faire ce que je demande, où je me connecte le contenu de l'onglet de contrôle devrait afficher, ou si je ne suis pas connecté alors ne pas afficher le contenu de l'onglet – berat

Répondre

0

Si vous avez logique dans le code-behind, vous pouvez facilement accéder à des instances d'éléments de l'interface utilisateur.

Vous pouvez définir un nom à votre onglet Article:

<TabItem x:Name="LoginSuccessTab" Header="Tab I" > 

Et puis, le cacher lorsque la connexion échoue

private void btnclick_Click(object sender, RoutedEventArgs e) 
    { 
     { 
      if (txtuser.Text == "TEST" && psw.Password == "TEST") 
      { 
       txtres.Text = " You are logged in"; 
       txtres.Foreground = Brushes.Green; 
       txtres.FontSize = 14; 
       MessageBox.Show("You are logged in"); 
       LoginSuccessTab.Visibility = Visibility.Visible; 
      } 

      else 
      { 
       txtres.Text = " You are not logged in"; 
       txtres.Foreground = Brushes.Red; 
       txtres.FontSize = 14; 
       MessageBox.Show("You are not logged in"); 
       LoginSuccessTab.Visibility = Visibility.Collapsed; 
      } 
     } 
    } 
+0

Merci, ça a fonctionné ..... – berat

+0

Pour achèvement, veuillez marquer la réponse comme acceptée. –