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

C# Discussion :

modification du contenu de la fenetre


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut modification du contenu de la fenetre
    bonjour
    je cherche l'équivalent de repaint() en java pour le c#.
    voici mon probleme : j'ai une petite application dans laquelle il y a une image noire et un bouton parcourir. ce que j'aimerais c'est que quand on a choisi son image, elle soit redimensionnée et affichée dans la fenetre.
    mais quand on a choisi l'image le travail de redimensionnement semble bien se faire, mais pas le remplacement de l'image à lécran.
    en revanche, quand je modifie mon code de manière à ce que le choix de l'image à afficher se fasse dès le lancement de l'application (au placement direct de l'image dans le conteneur donc), là oui l'image est bien redimensionnée et affichée.
    j'ai aussi essayé de modifier des conteneurs lors d'un evenement mais rien ne se passe non plus, j'ai l'impression que le contenu de la fenetre est "scellé" à partir du moment où elle est affichée.
    je suis sous linux et j'utilise gtk# comme bibliotheque graphique.

    extrait du code :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    ...
    public class Test
    {
    ...
    static Gtk.Image img;
    static string file;
    ...
    static void Open (object obj, EventArgs args)
    {
    FileChooserDialog chooser ...
    ...
    file = ret;
    UpdImg();
    } // Open()
    ...
    public static void UpdImg ( )
    {
    Gdk.Pixbuf pb ...
    ...
    img = new Gtk.Image ( pb );
    // probleme ici : la nouvelle image ne remplace pas l'ancienne
    } // UpdImg()
    ...
    public static void Main(string[] args)
    {
    ...
    Gdk.Pixbuf pb = new Gdk.Pixbuf ( Colorspace.Rgb, false, 8, 32, 32 ); 
    pb.Fill ( 0 );	// image 32x32 noire
    img = new Gtk.Image ( pb );
    tbl.Attach(img, 1, 2, 0, 1);
    ...
    } // Main()
    ...
    } // class Test

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Merci de mettre les balises pour le code la prochaine fois (bouton # dans l'éditeur de texte).

    Pour ton problème, essaie de réaffecter l'image après modification (méthode UpdImg) dans la cellule en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tbl.Attach(img, 1, 2, 0, 1);
    EDIT : Tu peux aussi voir s'il n'y a pas une méthode Invalidate ou Refresh dans ton contrôle à redessiner.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut
    non j'avais déjà essayé le tbl.Attach() et ca ne faisait rien
    et j'avais trouvé Invalidate mais ca fonctionne uniquement avec Windows.Forms
    j'ai pas trouvé de refresh() par contre j'ai trouvé win.QueueDraw(); qui demande apparement d'invalider la fenetre pour qu'elle soit redessinée à la prochaine analyse de la fenetre, mais ca n'arrive pas non plus.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 141
    Par défaut
    Sinon, beaucoup plus bourrin, juste après la sélection de ton image tu appelles carrément la fonction OnPaint.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut
    tu es sur que OnPaint() est pour gtk ? je trouve pour windows forms mais pas pour gtk#

  6. #6
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Quand tu as choisi l'image, essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DoEvents() ;

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/12/2005, 16h53
  2. [vb6 et access] problème de modification de contenu de champ
    Par dj_tess dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/12/2005, 19h26
  3. Changer contenu d'une fenetre parente
    Par ouam81 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/07/2005, 11h12
  4. Modification du contenu d'un Request() ??
    Par Invité dans le forum ASP
    Réponses: 5
    Dernier message: 05/07/2005, 14h31
  5. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 16h38

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