fandeonepiece2 a écrit:re,
ça y est j'ai trouvé
variables : list(tableau)(variable tableau devant contenir la liste des fichiers contenus dans un dossier)
dans form load :
- Code:
Dim list As New List(Of String)
list.Add("C:\fichier.docx")
Dim locationY As Integer = 0
For Each i In list
Dim pictureBox As New PictureBox
pictureBox.Location = New Point(0, locationY)
pictureBox.Image = Icon.ExtractAssociatedIcon(i).ToBitmap
pictureBox.Tag = i
AddHandler pictureBox.Click, AddressOf pictureBox_Click
Me.Controls.Add(pictureBox)
locationY += pictureBox.Height
Next
dans déclarer une API :
- Code:
Sub pictureBox_Click(ByVal sender As Object, ByVal e As EventArgs)
For Each control As Control In Me.Controls
If Equals(control, sender) Then
Me.Label1.Text = control.Tag
'lancer un programme
End If
Next
End Sub
c'est bien ce que tu avais besoin ?
cordialement
Bonjour Fandeonepiece2,
Heu non je crois pas désolé :/ Et le code ne fonctionne pas sous SZ :/ Sa compile pas... erf : si tu a réussi pourra tu me donner ton projet SZ qui ta servit de test ?
En faite ce que j'essaye de trouver c'est ça :
Là ici ça bug : quand tu place une PictureBox dans une MDI quand tu ouvre ensuite une fenêtre enfant celle-ci, même en gardant le focus, reste en arrière plan de l'icone : et donc l'icone gâche la vue : impossible donc de mettre en arrière plan la PictureBox.
Ce qu'on essaye de trouver c'est de faire en sorte que la PictureBox qui fait office d'icone reste toujours derrière toutes fenêtres enfants.
J'ai regarder sur des forums pro de dev VB.NET il est impossible aujourd'hui en VB.NET de mettre en arrière plan un objet dans une MDI... Si tu place un composant (PictureBox, Label, ListBox, etc) dans une MDI et bien les composants resterons toujours en avant plan et donc impossible de mettre une fenêtre enfant car elle sera masquée par les composants dans la MDI ><
Ceci peut être réglé en ne mettant pas d'MDI comme interface de bureau mais si on fait ça Mantrix restera toujours virtuelle : je ne pourrais donc jamais l'intégrer comme OS semi-natif ou même natif :/
Donc comme on doit rester en MDI je cherche un code pour dire à l'OS que PictureBox1 (par exemple) doit rester en arrière plan dans la MDI : sans succès jusqu'à présent et même les pro ne savent pas comment faire ça apparemment c'est le Framework et son algo' MDI qui est conçu comme ça : donc non modifiable au niveau de son comportement :/
EDIT : si j'ai bien compris ton code fournis créer une nouvelle PictureBox depuis le fichier fichier.docx en récupérant son nom et son icone puis la met dans la fenêtre MDI grâce à l'API de Windows. C'est ça ? Car l'idée est nickel mais marche pas en MDI et je peut pas tester le code .NET est pas bon sous SZ :/