Bonjour, je suis en train de développer une application où je génère des composants graphiques, j'aimerais pouvoir proposer aux utilisateurs un export du contenu de la form en tant qu'image.
Comment faire?
Merci d'avance
Bonjour, je suis en train de développer une application où je génère des composants graphiques, j'aimerais pouvoir proposer aux utilisateurs un export du contenu de la form en tant qu'image.
Comment faire?
Merci d'avance
salut,
trop peu d'informations...
qu'utilises tu ?
vs 2003 ? 2005 ? 2008 ? 2010 ?
WPF ? GDI ?
Merci ça fonctionne mais ça ne permet d'afficher que la zone qui est actuellement à l'écran.
Comment faire quand il y a des ascenseurs?
Pour ce que ca intéresse
Si vous voyez comment l'améliorer
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 protected Bitmap preparerImage() { Control c = this.Controls[0]; Panel p = new Panel(); p.Controls.Add(c); c = p.Controls[0]; c.Dock = DockStyle.Fill; Size s = new Size(); s.Height = this.bindingList.Count * this.dataGridView1.Rows[0].Height + this.dataGridView1.ColumnHeadersHeight; int largeur = 0; foreach (DataGridViewColumn col in this.dataGridView1.Columns) { largeur += col.Width; } s.Width = largeur+ this.dataGridView1.RowHeadersWidth; p.Size = s; Bitmap img = new Bitmap(s.Width, s.Height); p.DrawToBitmap(img, new Rectangle(0, 0, s.Width, s.Height)); this.Controls.Add(c);//ne pas oublier de le remettre sinon il sera perdu return img; }
Le seul problème c'est la taille (faudrait pouvoir la découper) et le fait que les DataGridViewComboBoxColumn perdent leurs valeurs.
A part ça ca marche
Partager