Bonjour,
Je n'arrive pas à centré (positionner) le dialogue "openFileDialog" au centre de l'écran.
Je ne vois pas comment faire.
si vous avez une idée merci d'avance de votre aide.
Version imprimable
Bonjour,
Je n'arrive pas à centré (positionner) le dialogue "openFileDialog" au centre de l'écran.
Je ne vois pas comment faire.
si vous avez une idée merci d'avance de votre aide.
plusieurs solutions ici :
http://stackoverflow.com/questions/1...savefiledialog
Je viens de tester ce que vous m'avez indiqué:
La méthode 1 n'arrive pas a accroché l'instance openFileDialog1 (boucle infini) !Code:
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
35 // API Windows [DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)] static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName); [DllImport("user32.dll", EntryPoint = "SetWindowPos")] public static extern IntPtr SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int Y, int cx, int cy, int wFlags); private void button1_Click(object sender, EventArgs e) { // Afficher OpenDialogFile1 en le centrant // openFileDialog1 créé dans le concepteur int choixMethode = 2; if (choixMethode == 1) { // Méthode 1 openFileDialog1.Title = "Ouvrir"; IntPtr window = IntPtr.Zero; while (window == IntPtr.Zero) window = FindWindowByCaption(IntPtr.Zero, "Ouvrir"); // Capture impossible const int SWP_NOSIZE = 0x0001; SetWindowPos(window, 0, 500, 200, 0, 0, SWP_NOSIZE); } else { // Méthode 2 Form PositionForm = new Form(); PositionForm.StartPosition = FormStartPosition.Manual; PositionForm.Left = 500; PositionForm.Top = 40; PositionForm.FormBorderStyle = FormBorderStyle.None; PositionForm.Visible = false; PositionForm.Show(); openFileDialog1.ShowDialog(); } }
La méthode 2 positionne l'origine de openDialog1 à la bonne position, n'est il est impossible de centrer le openFileDialog1 car les champs Width et Heigth sont inaccessibles, pour faire un positionnement précis (centrage)!
Si vous avez une autre idée, car je ne vois pas la solution dans l'immédiat. :(
Merci d'avance...
Oups, j'ai mal écrit la méthode 2, il faut écrire:
Code:
1
2
3
4 ... openFileDialog1.ShowDialog(PositionForm); // et non openFileDialog1.ShowDialog(); ...