Creation de sa propre form c# 2005

[Résolu]
Signaler
Messages postés
20
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2006
-
Messages postés
20
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2006
-
 



Bonjour a tous,



Je suis débutant, et je voudrais faire une petite application pour écrire dans un *.txt, et j’aimerais que cette application est un thème visuel identique au programme au quel il est destiné.



j’ai donc créé mon image de font, pas de problème, mes boutons, fermé et réduire, j’ai glissé un picturebox et mis mon image de bouton fermer dedans et mis ceci dans le bloc



Application.exit() ;  



Je lance mon appli je clique sur le bouton ca marche parfaitement, l’appli ce ferme, mais alors pour le bouton réduction dans la barre des taches pas moyen de trouver la fonction, pouvez vous me dire quel est elle svp ?



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 





Autre problème, je ne peut plus déplacer ma fenêtre puisque j’ai désactivé le controlBox,  existe-t-il  une fonction permettant a un contrôle picturebox pour pouvoir déplacer la fenêtre ?




 





Merci d’avance pour vos réponses.

7 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Oui oui, j'avais bien compris et je ne parlais pas de changer cette propriété dans le designer mais au moment où tu veux minimiser le Form :

private void label4_Click(object sender, EventArgs e)

    this.WindowState = FormWindowState.Minimized;
}

Sinon je te conseille vivement de donner des noms explicites à tes champs, ça facilite grandement la comprehension du code.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Form.Close( ) serait plus correct que Application.Exit( ), surtout en .NET 1.1, en .NET 2.0 ça ne pose plus vraiment de problème.

Et là c'est plus simple ?

public partial class Form1 : Form
{
   private Point position = Point.Empty;



    public Form1( )
    {
        InitializeComponent( );




        PictureBox pb = new PictureBox( );
        pb.BackColor = Color.Aqua;
        pb.MouseDown += new MouseEventHandler( PictureBox_MouseDown );
        pb.MouseMove += new MouseEventHandler( PictureBox_MouseMove );
       
        this.FormBorderStyle = FormBorderStyle.None;
        this.Controls.Add( pb );
    }




    private void PictureBox_MouseDown( object sd, MouseEventArgs e )
    {
        if ( e.Button == MouseButtons.Left )
        {
            position = e.Location;;
        }
    }




    private void PictureBox_MouseMove( object sd, MouseEventArgs e )
    {
        if ( e.Button == MouseButtons.Left )
        {
            Point pos = e.Location;
            int x = this.Left + ( pos.X - position.X );
            int y = this.Top + ( pos.Y - position.Y );
            this.Location = new Point( x, y );
        }
    }
}
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Salut,

Pour minimiser le Form, affecte Minimized à la propriété WindowState.

Pour le déplacement tu peux regarder du côté de cette source de LUDINSKI : FENÊTRE SANS BORDURES, POUVANT ÊTRE DÉPLACÉE ET REDIMENSIONNÉE

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
salut,


une alternative :


 


public partial class Form1 : Form
{
   private Point position = Point.Empty;


    public Form1( )
    {
        InitializeComponent( );


        PictureBox pb = new PictureBox( );
        pb.BackColor = Color.Aqua;
        pb.MouseDown += delegate( object sd, MouseEventArgs e )
        {
            if ( e.Button == MouseButtons.Left )
            {
                position = e.Location;;
            }
        };


        pb.MouseMove += delegate( object sd, MouseEventArgs e )
        {
            if ( e.Button == MouseButtons.Left )
            {
                Point pos = e.Location;
                int x = this.Left + ( pos.X - position.X );
                int y = this.Top + ( pos.Y - position.Y );
                this.Location = new Point( x, y );
            }
        };


        this.FormBorderStyle = FormBorderStyle.None;
        this.Controls.Add( pb );
    }
}
Messages postés
20
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2006

Désoler je me fait certainement mal comprendre de part ma maigre connaissance, merci coq d’avoir répondu, mais je ne souhaite pas que ma fenêtre ce mette en barre des tache a l’ouverture mais qu’elle si mette quand l’utilisateur clique sur le contrôle picturebox, en remplacement de ceux que j’ai enlever par défaut.



Merci pour ta réponse lutinore, mais c’est beaucoup trop compliqué pour moi ^^



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 





Voici mon code pour le label pour la sortie du programme, j’ai changer finalement j’avais pas besoin de faire un bouton en image ca marche aussi avec du texte.




       
private
void label3_Click(object sender, EventArgs e)






        {






           
Application.Exit();






        }





Ici mon label pour la reduction






       
private
void label4_Click(object sender, EventArgs e)






        {






            ???






        }

 





 





Merci en tout cas.
Messages postés
20
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2006

merci coq, je debute vraiment desolé ^^. pas encore cela lutinore , je comprendrais un jour si j'insiste merci a tout les deux pour vos reponses rapides et precise ;o)
Messages postés
20
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2006

merci beaucoup lutinore ca marche tres bien juste une petite boite bleu dans l'angle mais je vais trouver le soucie merci, c'est tres claire comme cela ^^