Désactiver (griser) une ligne d'une listbox ? [Résolu]

Messages postés
262
Date d'inscription
mardi 26 février 2002
Dernière intervention
27 février 2012
- 8 janv. 2011 à 18:36 - Dernière réponse :
Messages postés
262
Date d'inscription
mardi 26 février 2002
Dernière intervention
27 février 2012
- 9 janv. 2011 à 00:04
Comment rendre inactive une ligne d'une listbox ?

Du genre :

ListBox1.Items(ListBox1.SelectedIndex()).Enabled = true

D'avance merci.
Fabiano
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
- 8 janv. 2011 à 23:03
3
Merci
oui
ou SELON L'USAGE, profiter du datasource

Public Class Form1
    Private Class ItemPerso
        Private mValue As String
        Private mEnabled As Boolean

        Public Property Value() As String
            Get
                Return mValue
            End Get
            Set(ByVal value As String)
                mValue = value
            End Set
        End Property

        Public Property Enabled() As Boolean
            Get
                Return mEnabled
            End Get
            Set(ByVal value As Boolean)
                mEnabled = value
            End Set
        End Property

        Public Sub New(ByVal sValue As String, ByVal bEnabled As Boolean)
            mValue = sValue
            mEnabled = bEnabled
        End Sub
    End Class

    Private mListOfItems As New List(Of ItemPerso)
    Private bLoading As Boolean

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For i As Integer = 1 To 300
            mListOfItems.Add(New ItemPerso("Ligne " & i.ToString, ((i Mod 2) = 0)))
        Next
        bLoading = True
        ListBox1.DataSource = mListOfItems
        ListBox1.DisplayMember = "Value"
        bLoading = False
    End Sub

    Private Sub ListBox1_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
        If ListBox1.SelectedIndex <> -1 And Not bLoading Then
            With DirectCast(ListBox1.SelectedValue, ItemPerso)
                If .Enabled Then
                    MessageBox.Show(String.Format("La valeur {0} est sélectionnée", .Value))
                Else
                    'PAS DE CODE, PAS D'ACTION
                    Console.WriteLine("Item {0} désactivé", .Value)
                End If
            End With
        End If
    End Sub
End Class

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
- 8 janv. 2011 à 22:04
0
Merci
salut,

à ma connaissance ce n'est pas possible
il te reste juste à ne pas agir sur l'action et la condition (position de la ligne)

ou faire ta propre listbox

[hr]
Commenter la réponse de PCPT
Messages postés
262
Date d'inscription
mardi 26 février 2002
Dernière intervention
27 février 2012
- 8 janv. 2011 à 22:33
0
Merci
C'est ce que j'ai fait !

Du coup c'est super long.

Merci pour ton aide.
a+
Commenter la réponse de cs_fabiano13
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
- 8 janv. 2011 à 22:46
0
Merci
salut,

il est peut être possible de dériver le controle listbox
et d'ajouter un comportement sur les items de la listbox.

Bon dev.
Commenter la réponse de nhervagault
Messages postés
262
Date d'inscription
mardi 26 février 2002
Dernière intervention
27 février 2012
- 9 janv. 2011 à 00:04
0
Merci
Merci pour votre aide.

Bien à vous deux.
Fabiano
Commenter la réponse de cs_fabiano13

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.