Form vbmodal

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 27 avril 2010 à 15:16
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 29 avril 2010 à 14:07
Bonjour

En vb6 j'utilise Me.Show vbModal
en net Me.ShowDialog()
Je reçois une erreur
Form that is already displayed modally cannot be displayed as a modal dialog box. Close the form before calling showDialog.

Merci d'avance

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 avril 2010 à 16:24
'Me' déjà affiché, semble-til ...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
27 avril 2010 à 17:49
Salut
me déja affiché ?
voila le code
Private Sub Message_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Visible = False
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        Me.BackgroundImage = Image.FromFile(general.App_Path() & "\lcws\backgroundmessage.bmp")
        Me.BackgroundImageLayout = ImageLayout.Stretch

        Me.Width = Me.BackgroundImage.Width
        Me.Height = Me.BackgroundImage.Height
        Me.Label1.BorderStyle = BorderStyle.None
        Me.Label1.BackColor = Color.Transparent
        Me.Label1.ForeColor = Color.Aquamarine
        Me.Label1.Font = New Font("arial", 18, FontStyle.Bold, GraphicsUnit.Pixel)
        Me.Label1.Text = "Veux tu vraiment quitter ?"
        Me.cancel.AutoSize = True
        Me.cancel.Font = New Font("arial", 14, FontStyle.Bold, GraphicsUnit.Pixel)
        Me.cancel.Text = "Non"
        Me.cancel.ForeColor = Color.Black
        Me.conti.BackColor = Color.Blue
        Me.conti.AutoSize = True
        Me.conti.Font = New Font("arial", 14, FontStyle.Bold, GraphicsUnit.Pixel)
        Me.conti.Text = "Oui"
        Me.conti.ForeColor = Color.Black
        Me.Label1.Left = Me.Width / 2 - Me.Label1.Width / 2
        Me.Label1.Top = Me.Height / 2 - (Me.Label1.Height + Me.cancel.Height) / 2
        Me.cancel.Top = Me.Label1.Bottom + Me.cancel.Height * 0.8
        Me.conti.Top = Me.cancel.Top
        Me.cancel.Left = 6
        Me.conti.Left = Me.Width - 6 - Me.conti.Width

        Me.Left = 1024 / 2 - Me.Width / 2
        Me.Top = 768 / 2 - Me.Height / 2

        Me.ShowDialog()

    End Sub
0
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
29 avril 2010 à 09:17
Salut,

Tu ne peux pas appeler Me.Showdialog car Me se réfère à la fenêtre en cours donc déjà affichée. Dans ton cas fait Me.visible=true (au lieu de Me.Showdialog) et ta fenêtre sera visible car tu as fait un me.visible=false au début.



@+LIM
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 avril 2010 à 09:32
Me.Left = 1024 / 2 - Me.Width / 2
Me.Top = 768 / 2 - Me.Height / 2

pourquoi diantre prendre 1024 * 768 comme taille en dur ????

utilises la vraie taille de ton ecran !

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
29 avril 2010 à 14:07
Salut
A propos de vb modal j'ai résolu le problème
j'ai crée la form at run time
dim myform as new form
ensuite je définis myform
myform.showmodal

A propos de 768 * 1024 d'utiliser la vraie taille
en vb6 tu as Screen.width Screen.height en net
je ne sais pas ?

Merci
0
Rejoignez-nous