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

VB.NET Discussion :

Un tableau de variables (et non pas de leurs valeurs)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut Un tableau de variables (et non pas de leurs valeurs)
    Bonjour à tous,

    Voilà. J'ai besoin de mettre dans un tableau toute une liste de variables, et non pas de leurs valeurs. Par exemple, les variables sont toujours : Var1, Var2, Var3... Var250 . En fonction de l'utilisateur, la combobox qui est générée dynamiquement avec le tableau affiche, elle, les valeurs des variables.

    Je m'explique :

    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
     
     
    CasUtilisateur = 12    'utilisateur de légumes
     
    Select Case CasUtilisateur
     
    Case1
         ValeursVariables(1)
    Case 2
          ValeursVariables(2)
    .......
    End Select
     
    For i =0 to ubound(Tabl)
           Combo1.Items.Add( Tabl(i)) 
    Next
     
    'Puis le sub
     
    Private sub ValeursVariables(ByVal Niv as integer)
     
        Select case Niv
            ...
            Case is = 12
                Var1 = "Courgettes"
                Var2 = "Poireaux"
            ........................... 
     
    end sub
     
    'donne, à la lecture du combo, à l'index 0, par ex. "Courgettes"
    'Je veux, ne serait-ce que pour apprendre, charger un tableau de variable.
    Pour l'instant, mon combo charge "Var1, Var2, Var3....
    Et j'aurais aimé "Courgettes et poireaux...

    Bien sûr je pourrais prévoir, dès l'ouverture de l'application, de charger 40, 80 ou 200 tableaux. Il y a aussi la solution d'écrire, le nombre de fois nécessaires, le code de génération du combobox et ensuite de faire un Select.

    Mais tout cela me paraît pas très sérieux. Par contre, les listes ou dictionnaires... J'avoue nager un peu de ce côté. Peut-être qu'il y aurait une ouverture ? Si quelqu'un maîtrise ces outils...

    Pour une idée, je serai assez preneur...

    Merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    J'ai un peu de mal à comprendre ton code
    Celà dit je pense que ce que tu cherches à faire est :

    avec quelque part un tableau avec le nom de la variable et sa valeur pour pouvoir te servir de sa valeur en fonction de son nom

    Pourquoi ne pas utiliser alors un dictionnaire avec en clé le nom de variable et en valeur sa valeur ?

    EDIT : Après ton édition ça semble me conforter dans mon idée, pour utiliser un dictionnaire tu le déclares :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private monDico as new Dictionnary of (String, string) 'Dictionnaire qui contient des String et dont la clé est un string
     
    'On ajoute une variable dedans 
    monDico.add("Var1", "Courgette")
     
    'On récupère la valeur de la variable "Var1"
    Dim valeur as string = monDico("var1")

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    Merci de votre réponse.

    J'ai un ListView et un comboBox à remplir en fonction, par exemple, de langues et de pays. Chaque pays à, en regard, une image (drapeau) qui lui est propre. Et le nom du pays est fonction de la langue de l'utilisateur.

    Je mets donc mes variables dans un fichier, en resources, et je lis mes variables pour remplir mon combo et ma ListView.

    Ces variables prennent automatiquement la valeur de la langue choisie (Ce Serait le BUT...).

    D'autre part, il y a un double 'remplissage' si j'ose dire, parce que le visiteur peut choisir le classement par langue ou celui par pays, ce qui est radicalement différent. Beaucoup de pays parlant la même langue, langue adaptée pour le pays en question.

    Si je veut rajouter une variable ou modifier un drapeau, cela me prends 2 secondes dans les resources.

    D'autre part, je ne crée qu'un seul tableau, à la demande, tableau qui est 'erasé' dès qu'il ne sert plus ce qui me garantit une bonne mémoire.

    Voilà l'explication.

    Maintenant le dictionnaire. Comme je l'ai dit, je ne maîtrise pas, c'est pas encore rentré... Mais je ne désespère pas de comprendre assez vite. Depuis environ 40 jours de VB 2010 (je viens de VB 4...), j'apprends et j'enregistre mais parfois j'arrive à saturation. Si vous avez une explication simple pour le dico, je suis preneur.

    Cependant, je connais (un peu...) les array Clé -> Valeur du php. Si ça y ressemble j'aimerais bien comprendre comment l'adapter à mon problème.

    Merci de vous intéresser à mon cas.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    Encore merci pour votre réponse,

    C'est ce que j'ai essayé de faire avec un succédané de mes fameux Array Clés->Valeur. Mais, au chargement du combo, par exemple, il affiche "Val1", "Val2" etc...

    Je coudrais dire Combo1.Items.Add(VAL1)
    Combo1.Items.Add(VAL2)
    Combo1.Items.Add(VAL2)

    Et que, de lui-même, il mettre la valeur. D'autant que j'ai 3 paramètres : le pays, la langue et le drapeau. (Pour la listView, bien sûr, pas pour le combo..)

  5. #5
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut country culture, pays & image flags
    bonjour Whombat
    l'idee de stocker les noms des variables en resources me parait un peu bizarre et peu courante comme facon de programmer.A moins que tu confondes entre variables et valeurs des variables.
    Elle est à abandonner crois-moi.

    Ce qui preocuppe d'habitude les programmeurs,c'est plutot stocker les valeurs des variables en resources oui......
    De ce qui ressort de ta discussion avec AsmDuty ,l'objectif de ton appli est de gerer une liste de pays,culture-langue and flags.
    Je me pose la question pourquoi tu n'utilises pas l'infrastructure .Net Framework existante relative à la localisation des appli..tout simplement.
    Il suffit de lui rajouter en resources tes images ou icones drapeaux

    1er code exemple ; un controle ListView synchronise avec un controle Combox+2 controles ImageList à charger avec tes flags en resources sur le designer VS directement...(tri du listview et du combox ne peuvent etre synchronises et sont desactives):
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    Imports System.Threading
    Imports System.Globalization
    Imports System.Windows.Forms
    Public Class Form1
    	Private MyListCI As List(Of CultureInfo) = New List(Of CultureInfo)
    	Private Sub btnFillCombo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFillCombo.Click
    		'Ajout des valeurs aux ComboBox et ListView POMPEES DE  CultureInfo(gratis)
    		SetupListViewAndComboBox()
     
    	End Sub
    	Private Sub ComboLanguages_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboLanguages.SelectedIndexChanged
    		If Me.ComboLanguages.SelectedIndex = -1 Then Return
    		Dim ndxCountrySel As Integer = Me.ComboLanguages.SelectedIndex
    		Me.ListViewLanguages.Focus()
    		Me.ListViewLanguages.Items(ndxCountrySel).Selected = True
    		Me.ListViewLanguages.Items(ndxCountrySel).Checked = True
    		Me.ListViewLanguages.Items(ndxCountrySel).EnsureVisible()
    	End Sub
    	Private Sub SetupListViewAndComboBox()
    		'MISE EN FORME du ComboBox
    		' Tri : à eviter car la synchronisation des controles ListView et ComboBox sera perdues
    		Me.ComboLanguages.Sorted = False
     
    		'MISE EN FORME du ListView
    		' Set the view to show details.
    		ListViewLanguages.View = View.Details
    		' Allow the user to edit item text.
    		ListViewLanguages.LabelEdit = False
    		' Allow the user to rearrange columns.
    		ListViewLanguages.AllowColumnReorder = False
    		' Display check boxes.
    		ListViewLanguages.CheckBoxes = True
    		' Select the item and subitems when selection is made.
    		ListViewLanguages.FullRowSelect = True
    		' Display grid lines.
    		ListViewLanguages.GridLines = True
    		' Tri : à eviter car la synchronisation des controles ListView et ComboBox sera perdues
    		ListViewLanguages.Sorting = SortOrder.None
     
    		'AJOUT DES EN-TETES COLONNES
    		' Create columns for the items and subitems.
    		Me.ListViewLanguages.Columns.Add("CountryCulture&NameFlags", 32, HorizontalAlignment.Left)
    		Me.ListViewLanguages.Columns.Add("IsoName", 100, HorizontalAlignment.Left)
    		Me.ListViewLanguages.Columns.Add("EnglishName", 100, HorizontalAlignment.Center)
     
    		'AJOUT DES VALEURS POMPEES DE  CultureInfo(gratis)
    		For Each ci As CultureInfo In CultureInfo.GetCultures(CultureTypes.AllCultures)
    			MyListCI.Add(ci)
    		Next
    		'AJOUT DES VALEURS DE MyListCI A ListView
    		Dim myItem As ListViewItem
    		For Each ci As CultureInfo In MyListCI
    			'ajout dans ComboBox 
    			Me.ComboLanguages.Items.Add(ci.EnglishName)
    			'ajout dans  ListView
    			myItem = New ListViewItem(ci.DisplayName, 0)
    			myItem.Checked = False
    			myItem.SubItems.Add(ci.Name)
    			myItem.SubItems.Add(ci.EnglishName)
    			Me.ListViewLanguages.Items.Add(myItem)
    		Next
     
     
    		'AJOUT DES BANNIERES AU  CONTROLES ImageList SUR DESIGNER
    		'(NB:les bannieres seront d'office integres dans les  resources du Form)
    		'AJOUTES 2  CONTROLES ImageList DANS LE FORM.
     
    		' Initialize the ImageList objects with bitmaps.
    		'Assign the ImageList objects to the ListView.
    		Me.ListViewLanguages.LargeImageList = imageListLarge
    		Me.ListViewLanguages.SmallImageList = imageListSmall
     
    		' Tri : à eviter car la synchronisation des controles ListView et ComboBox sera perdues
     
     
    	End Sub
    	Private Sub rdBtnDetail_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdBtnDetail.CheckedChanged
    		Me.ListViewLanguages.View = View.Details
    	End Sub
     
    	Private Sub rdBtnSmall_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdBtnSmall.CheckedChanged
    		Me.ListViewLanguages.View = View.SmallIcon
    	End Sub
     
    	Private Sub rdBtnLarge_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdBtnLarge.CheckedChanged
    		Me.ListViewLanguages.View = View.LargeIcon
    	End Sub
     
    End Class
    2er code exemple : un DataGridView plus maniable synchronise avec un Combox+1 seul controle ImageList à charger avec tes flags en resources sur le designer VS directement...(...( le DataGridView permet de trier n'importe quelle colonne):
    Variante 1:datagridview rempli integralement à partir de notre liste des cultures MyListCI (provient de table .Net Framework CultureInfo.GetCultures)+un ImageList a remplir avec tes flags en correspondante de MyListCI.....
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
    Imports System.Threading
    Imports System.Globalization
    Imports System.Windows.Forms
    Public Class frmWhomBatVar1
    	Private MyListCI As List(Of CultureInfo) = New List(Of CultureInfo)
    	Private Sub btnFillCombo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFillCombo.Click
    		'Appel à variante 1
    		SetupDataGridViewAndComboBox()
     
    	End Sub
    	'Variante 1: ajout Auto toutes colonnes de la liste MyListCI
    	'à DataGridView grace à sa prop: DataSource
    	Private Sub SetupDataGridViewAndComboBox()
    		'AJOUT DES VALEURS POMPEES DE  CultureInfo(gratis) à MyListCI
    		For Each ci As CultureInfo In CultureInfo.GetCultures(CultureTypes.AllCultures)
    			MyListCI.Add(ci)
    		Next
     
    		'Clear the ComboLanguages control
    		Me.ComboLanguages.DataSource = MyListCI
     
    		'Clear the DataGridViewLanguages control
    		DataGridViewLanguages.DataSource = Nothing
     
     
    		'Presentation Colonnes Lignes:En-tete non visible
    		Me.DataGridViewLanguages.RowHeadersVisible = False
    		' Disable editing features.
    		DataGridViewLanguages.AllowUserToAddRows = False
    		DataGridViewLanguages.AllowUserToDeleteRows = False
    		DataGridViewLanguages.EditMode = DataGridViewEditMode.EditProgrammatically
    		'Presentation Colonnes
    		DataGridViewLanguages.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
    		DataGridViewLanguages.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
    		DataGridViewLanguages.ColumnHeadersDefaultCellStyle.BackColor = Color.WhiteSmoke
    		DataGridViewLanguages.ColumnHeadersDefaultCellStyle.ForeColor = Color.Blue
    		DataGridViewLanguages.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True
     
    		'Auto-generation des colonnes moins colonnes NumberFormat & DateTimeFormat
    		'avec Remove on peut exclure certaines colonnes de la generation
    		'ici:ces 2 colonnes generes une exception en realtion avec culture -ar- 
    		'c'est une autre facon de personnaliser au passage moins souple.
    		With Me.DataGridViewLanguages
    			.AutoGenerateColumns = True
    			.DataSource = MyListCI
    			.Columns.Remove("NumberFormat")
    			.Columns.Remove("DateTimeFormat")
    		End With
     
     
    		'Ajoute une colonne image(necessite un code)
    		CreateColumns()
     
     
    		'AJOUT DES BANNIERES A L'UNIQUE CONTROLE ImageList SUR DESIGNER
    		'AJOUTES 1  CONTROLE ImageList DANS LE FORM.
    		'(NB:les bannieres seront d'office integres dans les  resources du Form)
     
    		''Assign images from Resources to ImageList.
     
    		'Assign the ImageList objects to DataGridView.
    		'le nombre d'images dans ImageList doit etre egal à =>nbRows
    		'en d'autres termes :ImageList1.Images.Count=DataGridViewLanguages.Rows.Count 
     
    		Dim nbRows As Integer = Me.DataGridViewLanguages.Rows.Count - 1
    		Dim numLastCol = Me.DataGridViewLanguages.Columns.Count - 1
    		For i = 0 To nbRows
    			Me.DataGridViewLanguages.Rows(i).Cells(numLastCol).Value = Me.ImageList1.Images.Item(i)
    		Next
    		' Tri :le tri est facile dans DataGridView
     
    	End Sub
    	Private Sub CreateColumns()
     
    		Dim imageColumn As DataGridViewImageColumn
    		Dim columnCount As Integer = 0
    		Dim bitmapPadding As Integer = 6
    		Do
    			Dim unMarked As Bitmap = My.Resources.Flag
    			imageColumn = New DataGridViewImageColumn()
     
    			' Add twice the padding for the left and 
    			' right sides of the cell.
    			imageColumn.Width = unMarked.Width + 2 * bitmapPadding + 1
     
    			imageColumn.Image = unMarked
    			imageColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
    			imageColumn.HeaderText = "My Flags"
    			imageColumn.ImageLayout = DataGridViewImageCellLayout.Stretch
    			imageColumn.Description = "default image layout"
    			DataGridViewLanguages.Columns.Add(imageColumn)
    			columnCount = columnCount + 1
    		Loop While columnCount < 1
    	End Sub
     
    End Class
    variante 2 : datagridview ou l'on ajoute que les colonnes souhaitees (personnalisees) à partir de notre liste des cultures MyListCI+un ImageList a remplir avec tes flags en correspondante de MyListCI.....
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
    Imports System.Threading
    Imports System.Globalization
    Imports System.Windows.Forms
    Public Class frmWhomBatVar2
    	Private MyListCI As List(Of CultureInfo) = New List(Of CultureInfo)
    	Private Sub btnFillCombo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFillCombo.Click
    		'Appel à variante 2.
    		'SetupDataGridViewAndComboBoxPerso()
    	End Sub
    	'Variante 2: ajout personnalise des colonnes souhaitees 
    	'seulement de la liste MyListCI par code.
    	Private Sub SetupDataGridViewAndComboBoxPerso()
    		'AJOUT DES VALEURS POMPEES DE  CultureInfo(gratis) à MyListCI
    		For Each ci As CultureInfo In CultureInfo.GetCultures(CultureTypes.AllCultures)
    			MyListCI.Add(ci)
    		Next
     
    		'Clear the ComboLanguages control
    		Me.ComboLanguages.DataSource = MyListCI
    		'Clear the DataGridViewLanguages control
    		DataGridViewLanguages.DataSource = Nothing
    		'Presentation Colonnes Lignes:En-tete non visible
    		Me.DataGridViewLanguages.RowHeadersVisible = False
    		' Disable editing features.
    		DataGridViewLanguages.AllowUserToAddRows = False
    		DataGridViewLanguages.AllowUserToDeleteRows = False
    		DataGridViewLanguages.EditMode = DataGridViewEditMode.EditProgrammatically
     
    		'Presentation Colonnes
    		DataGridViewLanguages.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
    		DataGridViewLanguages.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
    		DataGridViewLanguages.ColumnHeadersDefaultCellStyle.BackColor = Color.WhiteSmoke
    		DataGridViewLanguages.ColumnHeadersDefaultCellStyle.ForeColor = Color.Blue
    		DataGridViewLanguages.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True
     
    		'Ajout des  colonnes souhaitees
    		' The easiest way to add a column, with name and header text.
    		'on prend comme modele la 1ere ligne de MyListCI(peut importe la ligne) 
    		Dim ciModele As CultureInfo = Me.MyListCI.Item(0)
    		DataGridViewLanguages.Columns.Add(ciModele.DisplayName, "Culture DisplayName")
    		DataGridViewLanguages.Columns(ciModele.DisplayName).ValueType = GetType(String)
     
    		DataGridViewLanguages.Columns.Add(ciModele.Name, "ISO Name")
    		DataGridViewLanguages.Columns(ciModele.Name).ValueType = GetType(String)
     
    		DataGridViewLanguages.Columns.Add(ciModele.EnglishName, "EnglishName")
    		DataGridViewLanguages.Columns(ciModele.EnglishName).ValueType = GetType(String)
     
    		DataGridViewLanguages.Columns.Add(ciModele.Parent.DisplayName, "Culture Parent Name")
    		DataGridViewLanguages.Columns(ciModele.Parent.DisplayName).ValueType = GetType(String)
     
    		'Ajoute une colonne image
    		CreateColumns()
     
    		'Ajout des lignes  par code 
    		For Each ci As CultureInfo In MyListCI
    			' Fill in a row of data (as a list of values).
    			DataGridViewLanguages.Rows.Add(ci.DisplayName, ci.Name, _
    				ci.EnglishName, ci.Parent.DisplayName)
    		Next
     
    		'AJOUT DES BANNIERES QU'IL TE REVIENT DE STOCKER DANS RESOURCES
    		'AJOUTES 2  CONTROLES ImageList DANS LE FORM.
    		'(NB:les bannieres seront d'office integres dans les  resources du Form)
     
    		'Assign images from Resources to ImageList.
     
    		'Assign the ImageList objects to DataGridView.
    		'le nombre d'images dans ImageList doit etre egal à =>nbRows
    		'en d'autres termes :ImageList1.Images.Count=DataGridViewLanguages.Rows.Count 
    		Dim nbRows As Integer = Me.DataGridViewLanguages.Rows.Count - 1
    		Dim numLastCol = Me.DataGridViewLanguages.Columns.Count - 1
    		For i = 0 To nbRows
    			Me.DataGridViewLanguages.Rows(i).Cells(numLastCol).Value = Me.ImageList1.Images.Item(i)
    		Next
    		' Tri :le tri est facile dans DataGridView
     
    	End Sub
    	Private Sub CreateColumns()
     
    		Dim imageColumn As DataGridViewImageColumn
    		Dim columnCount As Integer = 0
    		Dim bitmapPadding As Integer = 6
    		Do
    			Dim unMarked As Bitmap = My.Resources.Flag
    			imageColumn = New DataGridViewImageColumn()
     
    			' Add twice the padding for the left and 
    			' right sides of the cell.
    			imageColumn.Width = unMarked.Width + 2 * bitmapPadding + 1
     
    			imageColumn.Image = unMarked
    			imageColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
    			imageColumn.HeaderText = "My Flags"
    			imageColumn.ImageLayout = DataGridViewImageCellLayout.Stretch
    			imageColumn.Description = "default image layout"
    			DataGridViewLanguages.Columns.Add(imageColumn)
    			columnCount = columnCount + 1
    		Loop While columnCount < 1
    	End Sub
     
    End Class
    bon code...........

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    Encore une fois, MERCI MABROUKI.

    Ce code est extra et je vais peut-être m'en servir. Mais il faudrais que je remette tout à zéro... Faut voir.

    Pour expliquer avec un court exemple pourquoi je veux stocker des variables (et non pas leurs valeurs).

    J'ai un fichier de 137 lignes
    Chaque ligne est construite comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
          FRANCAIS_FRANCE*France.jpg*18
     
          Avec un split(*) j'optiens 3 parties :
     
          FRANCAIS_FRANCE    ' La variable qui vaut "Français, France"
          France.jpg     ' Le fichier du drapeau
          18     ' L'index de l'ImageList associée

    Lorsque je lis le fichier et que je fais (en très abrégé):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Words as string
    Words = Split(MaLigneFichier, "*")
     
    'de mémoire, je n'ai plus la syntaxe exacte, 
    ComboBox.items.Add(Words(0))
    si on est en UIculture "fr-FR" on devrait trouver dans le combo : "Français, France" et je trouve FRANCAIS_FRANCE (!!!)

    Voilà pourquoi je voudrais savoir stocker des variables, au vrai sens du terme, parce que manifestement je ne sais pas, sinon ça fonctionnerait.

Discussions similaires

  1. Tableau de variable (et non variable tableau)
    Par Le Sage dans le forum VBA Access
    Réponses: 15
    Dernier message: 13/01/2014, 16h52
  2. Réponses: 0
    Dernier message: 19/03/2012, 15h05
  3. Réponses: 1
    Dernier message: 12/07/2010, 21h00
  4. [MySQL] Peu importe la taille du tableau, SQL est censé tout enregistrer(non pas foreach :D )
    Par Dermiste dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/04/2008, 01h47
  5. [HTML] boucle sur une variable et non pas un tableau
    Par delma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/11/2006, 15h03

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