IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

z-index avec Windows Forms


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Par défaut z-index avec Windows Forms
    Bonjour,

    je voudrais savoir si comme en développement web, il existe un "z-index" avec les Windows Forms.

    En effet je souhaite afficher un Combobox par-dessus une ListView.

    Merci d'avance.

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Tu peux faire un clic droit sur ton contrôle et le mettre au premier plan ou en arrière plan.

    Sinon "Affichage" -> "Autres fenêtres" -> "Structure du document"
    C'est affiché par ordre de priorité et modifiable.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Par défaut
    J'ai oublier de préciser que j'utilise Windows PowerShell ISE, je code directement en éditeur texte.

    Il est peut être possible de travailler en graphique avec PowerShell ISE ???

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Désolé tu est en Powershell

    Apparemment c'est l'ordre d'ajout à ta form qui définit la priorité

    Dans l'idée :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $form.Controls.Add($listBox1);
    $form.Controls.Add($listView1);

    ou

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $form.Controls.Add($listView1);
    $form.Controls.Add($listBox1);

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Par défaut
    Effectivement merci, mais cela ne fonctionne pas, car je crée le Combobox quand je double clic sur une cellule.

    voici mon code :

    [void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
    [void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")

    # Nom de la fenetre
    $ListForm = New-Object System.Windows.Forms.Form
    $ListForm.Text = "nom"
    $ListForm.Size = New-Object System.Drawing.Size(1280,1024)
    $ListForm.StartPosition = "CenterScreen"

    $ListVideo = New-Object System.Windows.Forms.ListView
    $ListVideo.Location = New-Object System.Drawing.Size(10,15)
    $ListVideo.Width = 1240
    $ListVideo.Height = 300
    $ListVideo.View = 'Details'
    $ListVideo.checkboxes = $true
    $ListVideo.FullRowSelect = $true
    $ListVideo.GridLines = $true
    $ListVideo.LabelEdit = $true
    $ListVideo.AllowColumnReorder = $false
    $ListVideo.Columns.Add('lol')
    $ListVideo.Columns.Add('test')
    $ListVideo.Columns.Add('42')
    $ListVideo.Columns[0].Width = -2;
    $ListVideo.Columns[1].Width = -2;
    $ListVideo.Columns[2].Width = -2;
    $ListVideo.Add_MouseDoubleClick($ListVideo_MouseDoubleClick)

    $item = New-Object System.Windows.Forms.ListViewItem("test")
    $item.SubItems.Add("125")
    $item.SubItems.Add("124")

    $ListVideo.Items.AddRange(($item))


    $ListVideo_MouseDoubleClick={
    $Click = $ListVideo.HitTest($_.Location)

    Write-Host $Click.SubItem.Text #sub item clicked
    Write-Host $Click.Item.Index
    Write-Host $Click.SubItem.Bounds

    $computerNames = @(1,2,3)
    $comboBox1 = New-Object System.Windows.Forms.ComboBox
    $comboBox1.Location = New-Object System.Drawing.Point(1, 1)
    #$comboBox1.Location = New-Object System.Drawing.Point(($Click.SubItem.Bounds.X+10), ($Click.SubItem.Bounds.Y+40))
    $comboBox1.Size = New-Object System.Drawing.Size($Click.SubItem.Bounds.Width, $Click.SubItem.Bounds.Height)

    foreach($computer in $computerNames)
    {
    $comboBox1.Items.add($computer)
    }
    $ListForm.Controls.Add($comboBox1)

    }


    $ListForm.Controls.Add($ListVideo)

    $ListForm.ShowDialog()

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Tu peux utiliser la méthodes setchildindex.

    https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx

    https://stackoverflow.com/questions/...lue-in-c-sharp

    Je suis sur téléphone donc excuse moi pour la mise en page.

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Par défaut
    Super

    un grand merci

    voici le code modifier :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    [void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
    [void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
    
    # Nom de la fenetre
    $ListForm = New-Object System.Windows.Forms.Form
    $ListForm.Text = "nom"
    $ListForm.Size = New-Object System.Drawing.Size(1280,1024)
    $ListForm.StartPosition = "CenterScreen"
    
    $ListVideo = New-Object System.Windows.Forms.ListView 
    $ListVideo.Location = New-Object System.Drawing.Size(10,15) 
    $ListVideo.Width = 1240
    $ListVideo.Height = 300
    $ListVideo.View = 'Details'
    $ListVideo.checkboxes = $true
    $ListVideo.FullRowSelect = $true
    $ListVideo.GridLines = $true
    $ListVideo.LabelEdit = $true
    $ListVideo.AllowColumnReorder = $false
    $ListVideo.Columns.Add('lol')
    $ListVideo.Columns.Add('test')
    $ListVideo.Columns.Add('42')
    $ListVideo.Columns[0].Width = -2;
    $ListVideo.Columns[1].Width = -2;
    $ListVideo.Columns[2].Width = -2;
    $ListVideo.Add_MouseDoubleClick($ListVideo_MouseDoubleClick)
    
        $item = New-Object System.Windows.Forms.ListViewItem("test")
        $item.SubItems.Add("125")
        $item.SubItems.Add("124")
    
        $ListVideo.Items.AddRange(($item))
    
    
    $ListVideo_MouseDoubleClick={
        $Click = $ListVideo.HitTest($_.Location)
    
            Write-Host $Click.SubItem.Text #sub item clicked
    		Write-Host $Click.Item.Index
            Write-Host $Click.SubItem.Bounds
    
            $computerNames = @(1,2,3)
            $comboBox1 = New-Object System.Windows.Forms.ComboBox
            #$comboBox1.Location = New-Object System.Drawing.Point(1, 1)
            $comboBox1.Location = New-Object System.Drawing.Point(($Click.SubItem.Bounds.X+10), ($Click.SubItem.Bounds.Y+15))
            $comboBox1.Size = New-Object System.Drawing.Size($Click.SubItem.Bounds.Width, $Click.SubItem.Bounds.Height)
           
            foreach($computer in $computerNames)
            {
              $comboBox1.Items.add($computer)
            }
        $prevIndex = $ListForm.Controls.IndexOf($ListVideo)
        $ListForm.Controls.Add($comboBox1);
        $ListForm.Controls.SetChildIndex($comboBox1, $prevIndex); 
    
    }
    
    
    $ListForm.Controls.Add($ListVideo)
    
    $ListForm.ShowDialog()

Discussions similaires

  1. Réponses: 12
    Dernier message: 03/06/2016, 08h38
  2. Application d'envoi de mail avec Windows Forms
    Par longbeach dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/12/2012, 19h35
  3. multithreading avec windows form
    Par tortuegenie dans le forum Windows Forms
    Réponses: 9
    Dernier message: 06/06/2011, 14h23
  4. RS232 avec Windows Form sous Visual Studio 2008
    Par Jerepain dans le forum Visual C++
    Réponses: 8
    Dernier message: 14/05/2009, 18h02
  5. session timeout avec windows forms
    Par modafine dans le forum Windows Forms
    Réponses: 0
    Dernier message: 27/01/2009, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo