Créer un contrôle sous ligne de code

Résolu
DxShadow Messages postés 69 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 12 mai 2013 - 4 mars 2008 à 19:04
DxShadow Messages postés 69 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 12 mai 2013 - 4 mars 2008 à 22:10
Bonjour, je programme en VB 2005 .NET et j'essaye de créer des contrôles sur la fenêtre en ligne de code.

J'ai créé un timer nommé "ControlCreator", j'ai mis une image d' "alerte" dans les ressources nommée "Warning",
j'ai paramétré la fenêtre pour qu'elle soit en plein-écran couleur noire et j'ai paramétré "TransparencyKey" à la couleur noire donc le form doit être
maximisé,
transparent et des icônes avec des points d'exclamations doivent apparaître au hasard sur l'écran en émettant des sons.


J'ai mis ce code dans le timer mais il ne marche pas :

Public T = 1


    Private Sub ControlCreator_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ControlCreator.Tick

        T += 1

        Dim X As New Control

        X = New PictureBox

        X.Name = "Icon" & T

        X.BackgroundImage = My.Resources.warning

        X.Width = 32

        X.Height = 32

        X.BackColor = Color.Transparent

        X.Left = Int((Rnd() * My.Computer.Screen.Bounds.Width - 20) + 20)

        X.Top = Int((Rnd() * My.Computer.Screen.Bounds.Height - 20) + 20)


        My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Exclamation)

    End Sub

Je remercie d'avance ceux qui m'aideront.

3 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
4 mars 2008 à 20:38
   Private Sub ControlCreator_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ControlCreator.Tick
        T += 1
        <strike>Dim X As New Control</strike>
        <strike>X = New PictureBox
</strike>Dim X as New PictureBox<strike>
</strike>         X.Name = "Icon" & T
        X.BackgroundImage = My.Resources.warning
        X.Width = 32
        X.Height = 32
        X.BackColor = Color.Transparent
Me.Controls.Add(X)
X.Visible = True
        X.Left = Int((Rnd() * My.Computer.Screen.Bounds.Width - 20) + 20)
        X.Top = Int((Rnd() * My.Computer.Screen.Bounds.Height - 20) + 20)

        My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Exclamation)
    End Sub







---- Sevyc64  (alias Casy) ----


<hr size ="2" width="100%" />


# LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
Utilisateur anonyme
4 mars 2008 à 19:43
Salut,

Si tu ne précise pas ce qui ne marche pas on est pas prés de pouvoir t'aider.
Mais je dirais que tu n'as pas ajouter le control sur la form.

__________
  Kenji
0
DxShadow Messages postés 69 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 12 mai 2013
4 mars 2008 à 22:10
@Charles Racaud: Ce qui ne marche pas est facile à deviner: Les contrôles ne s'affichaient pas.

@casy: Merci! ça marche trop bien!

A+
0
Rejoignez-nous