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 Forms Discussion :

[.Net 1.1] griser l'écran derrière un form modal


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2006
    Messages : 26
    Points : 20
    Points
    20
    Par défaut [.Net 1.1] griser l'écran derrière un form modal
    Bonjour,

    J'essaie d'apporter quelques améliorations à un logiciel en C# developpé avec le framework 1.1. Il s'agit d'une application type boite de dialogue : menu lateral type outlook à gauche & form modal ou non "docké" à sa droite, une statusbar en bas et une barre de commande en haut. Certains formulaires doivent être modaux, le problème est que l'utilisateur ne sais pas que le reste de l'application est figé et pense que le logiciel à planté et redémarrent la machine violemment (ils ne sont pas sensés s'occuper des petites subtilités de nos machines).

    Pour éviter cela j'aimerais griser tout ce qui est dérrière le formulaire modal, pour ce faire je vois a priori 2 pistes :
    - griser les 3 groupes de contrôles en background, le problème est que certains sont des composants achetés où je n'ai pas forcement la main
    - afficher une image grise avec un canal alpha à 50% par exemple.

    Le problème est que je ne vois pas par où commencer, auriez-vous des pistes à m'indiquer ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Sur certains composants, tu doit avoir la propriété "Enabled", qui grisent les contrôles.
    Ce que tu peux faire, c'est appliquer ça directement sur ton formulaire parent.

    j'ai juste créer un formulaire avec un bouton et une action sur le bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                this.Enabled = false;
                MessageBox.Show("coucou");
                this.Enabled = true;
            }
        }
    Le formulaire, ainsi que les composants le constituant, est totalement grisé et ne revient actif qu'une fois la box fermée.


    Sinon pour tes formulaires qui doivent être modaux, ouvrent les par la méthodes ShowDialog() , ça les ouvrent en modal contrairement à Show()

    En espérant que ça réponde à ta question
    May the Troll, be with you
    (Que le troll soit avec toi)

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    C'est du .NET 2 ça

    il y a juste que le mot clé partial à supprimer

  4. #4
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Citation Envoyé par harz62 Voir le message
    C'est du .NET 2 ça

    il y a juste que le mot clé partial à supprimer
    oui c'est .NET 2... mais le principe est le même en 1.1
    May the Troll, be with you
    (Que le troll soit avec toi)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2006
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Merci d'avoir pris le temps de me répondre

    Pour l'appel d'un form modal je le savais mais merci de le préciser
    Pour griser les contrôles en effet je pourrais les désactivés via "enable" mais il y a un controle (sorte de menu lattéral) qui ne me le permet pas, d'où l'idée d'afficher une image transparente.

    Au final j'ai créé un formulaire vierge avec "FormBorderStyle" sur "none" dont j'ai reglé l'opacité à 50% et que j'affiche/cache en maximized avant de faire appel à mon formulaire modal. Je ne trouve pas ça très propre mais ça à l'avantage d'être plutôt simple & facile à désactivé en mode "DEBUG".

    Merci quand même

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

Discussions similaires

  1. Fond d'écran derrière la barre de notification
    Par Chewbacce dans le forum Android
    Réponses: 4
    Dernier message: 14/04/2015, 17h14
  2. Réponses: 1
    Dernier message: 22/06/2006, 09h17
  3. [VB.NET][2.0]récupérer la clé derrière un élément d'un combo
    Par DebutantDotNet dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/03/2006, 19h18
  4. [VB.NET] Passer une valeur de control entre deux form
    Par TheMacleod dans le forum Windows Forms
    Réponses: 5
    Dernier message: 27/12/2005, 11h07
  5. [.NET] Pourquoi redéfinir la méthode dispose() d'une forme?
    Par Polyptyx dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 07/09/2004, 12h10

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