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 :

Problème : création de composants


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Par défaut Problème : création de composants
    Bonjour à tous,

    voilà mon probleme :

    j'aimerai créer des compostant d'une certaine manière

    en gros ca donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    dim TypeObjet as string = "combobox"
    dim monObjet as TypeObjet
    mais je sais que ca ne fonctionne pas c'est juste pour vous montrer le concept
    comment puis-je arriver a les fins???

    ce qui m'intéresserai c'est de créer des composant à la demande

    SVP

    merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    Des composants d'accord... mais des composants WinForm ou WebForm?

    Parceque ça change TOUT

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Par défaut
    ben des winform mais si la manière est différente en webform alors j'aimerais connaitre les 2 manières

    si possible

    Merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    Pour être honnête en WebForm c'est un peu compliqué. En plus il y a plusieurs types de composants WebControl possibles... Je te donne quand même un exemple brut d'un WebControl de type composite que jai créé pour un projet.

    En l'occurence, c'est un truc tout simple : un label + une DropDownList

    le .ascx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <%@ Control Language="vb" AutoEventWireup="false" CodeBehind="wcCatalogueArticles.ascx.vb" Inherits="BackOffice_DOTNET.wcCatalogueArticles" %>
    <asp:Label ID="lblCatalogueArticle" runat="server" Width="150px" EnableViewState="False"></asp:Label>&nbsp;
    <asp:DropDownList ID="ddlCatalogueArticle" runat="server" Width="200px">
    </asp:DropDownList>
    le .vb
    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
     
    Imports bLangue.cLangue
     
    Partial Public Class wcCatalogueArticles
        Inherits System.Web.UI.UserControl
     
    #Region "Propriétés"
     
        Private _cnxString As String = "Provider=" & System.Configuration.ConfigurationManager.ConnectionStrings("Dotsoft").ProviderName & ";" & System.Configuration.ConfigurationManager.ConnectionStrings("Dotsoft").ConnectionString
        Public Property connectionString() As String
            Get
                Return Me._cnxString
            End Get
            Set(ByVal value As String)
                _cnxString = value
            End Set
        End Property
     
        Private _langue As Integer = 1
        Public Property Langue() As Integer
            Get
                Return Me._langue
            End Get
            Set(ByVal value As Integer)
                _langue = value
            End Set
        End Property
     
        Public ReadOnly Property ddl() As WebControls.DropDownList
            Get
                EnsureChildControls()
                Return Me.ddlCatalogueArticle
            End Get
        End Property
     
        Public ReadOnly Property lbl() As WebControls.Label
            Get
                EnsureChildControls()
                Return Me.lblCatalogueArticle
            End Get
        End Property
     
        ''' <summary>Si on souhaite afficher la dropDownList uniquement alors il faut passer ce paramètre à True</summary>
        Private _noLabel As Boolean = False
        Public Property noLabel() As Boolean
            Get
                Return Me._noLabel
            End Get
            Set(ByVal value As Boolean)
                Me._noLabel = value
            End Set
        End Property
    #End Region
     
        Protected Overrides Sub CreateChildControls()
            If Not Me._noLabel Then
                Me.lblCatalogueArticle.Text = xL(4575, Me._langue, "Catalogue article", Me._cnxString)
                Me.Controls.Add(Me.lblCatalogueArticle)
     
                Me.Controls.Add(New LiteralControl(" : "))
            End If
     
            Me.mInitDropDownListCatalogueArticle()
            Me.Controls.Add(Me.ddlCatalogueArticle)
        End Sub
     
        ''' <summary>
        ''' Vide et reremplie le menu déroulant du distributeur
        ''' </summary>
        Private Sub mInitDropDownListCatalogueArticle()
     
            'Affiche l'info bulle
            Me.ddlCatalogueArticle.ToolTip = xL(6623, Me._langue, "Choisissez ici un catalogue d'articles", Me._cnxString)
     
            'Vide le control
            While Me.ddlCatalogueArticle.Items.Count > 0
                Me.ddlCatalogueArticle.Items.Remove(Me.ddlCatalogueArticle.Items(0))
            End While
     
            'Ajoute la première ligne par défaut
            Me.ddlCatalogueArticle.Items.Add(New ListItem("-- " & xL(4567, Me._langue, "Choix Catalogue", Me._cnxString) & " --", "-1"))
     
            'Remplie le control avec la liste des distributeurs
            Dim oCatalogues As Generic.List(Of bObjets.oCatalogueArticles) = bObjets.oCataloguesArticles.msCataloguesArticles(Me._cnxString)
            If Not oCatalogues Is Nothing Then
                For Each catalogue As bObjets.oCatalogueArticles In oCatalogues
                    Me.ddlCatalogueArticle.Items.Add(New ListItem(catalogue.pLibelle, catalogue.pIdCatalogue))
                Next
            End If 'Fin si il y a des catalogue d'articles
        End Sub
    End Class
    Mais si tu as besoin de UserControl winForm uniquement, dans un premier temps on va parler de cela.

    En WinForm il te suffit d'ajouter un élément à ton projet de type "Controle Utilisateur". Ensuite tu dispose d'un mode designer + code classique...

    Il n'y a en fait pas de grande différence entre la création d'une winform et le création d'un contrôle utilisateur...

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Par défaut
    attend c'est un peu trop long là

    je veux juste, par exemple,

    introduire le mot textbox dans un inputbox et dans la forme il s'affiche un composant de type textboxt, ou combobox ou button

    tu comprends???

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    Dans ce cas tu devrais créer un control utilisateur conteant tous les éléments que tu peux potentiellement affiché et selon ce que passe l'utilisateur tu affiche tel ou tel composant.

    Par comtre utilise un menu déroulant plutôt qu'une textBox... comme ça tu limites les contrôles possibles.

Discussions similaires

  1. [Lazarus] Problème de création de composant
    Par Gouyon dans le forum Lazarus
    Réponses: 24
    Dernier message: 05/11/2011, 23h25
  2. Problème création composant EClassNotFound
    Par Djelangelo dans le forum Composants VCL
    Réponses: 4
    Dernier message: 12/04/2011, 13h58
  3. Création de composants: Problème lors du Destroy
    Par fred64 dans le forum Langage
    Réponses: 17
    Dernier message: 13/12/2007, 22h42
  4. Problème création composant conteneur
    Par nek_kro_kvlt dans le forum Delphi
    Réponses: 5
    Dernier message: 29/07/2007, 00h09
  5. Réponses: 1
    Dernier message: 29/05/2007, 00h00

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