Visualizzazione dei risultati da 1 a 5 su 5

Discussione: su controllo utente

  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    su controllo utente

    Ho un semplice controllo utente derivato da label.

    Vorrei sapere per favore:

    1) è scritto bene? :master:

    2) come rendere predefito la proprietà Font.bold = true


    Siate comprensivi, è il primo controllo che faccio



    codice:
    Imports System.ComponentModel
    Imports System.Web.UI
    
    <DefaultProperty("Text"), ToolboxData("<{0}:label runat=server></{0}:label>")> Public Class label
        Inherits System.Web.UI.WebControls.Label
    
        Public Overrides Sub RenderBeginTag(ByVal writer As System.Web.UI.HtmlTextWriter)
            If Me.for.Length > 0 Then writer.AddAttribute("for", Me.for)
    
            'scrive gli attributi
            Me.AddAttributesToRender(writer)
    
            'scrive il tag di apertura
            writer.RenderBeginTag("label")
    
            'il tag di chiusura viene gestito automaticamente dal writer
    
        End Sub
    
        Private _for As String = ""
        <Description("identificativo del controllo legato"), Bindable(True)> _
        Public Property [for]() As String
            Get
                Return Me._for
            End Get
            Set(ByVal Value As String)
                Me._for = Value
            End Set
        End Property
    
    
    End Class
    Pietro

  2. #2
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Non è esattamente quello che volevi e in più non l'ho neanche provato
    Dovrebbe andare....
    codice:
    Public Class la_bel
        Inherits label
        'property visibile dalla pagina che richiama il controllo
        'registri il controllo utente che avrai creato in un file.vb chiamato Controlli
        '<%@ Register TagPrefix="cc1" Namespace="Controlli" Assembly="Controlli" %>
        'poi nel form
        '<cc1:la_bel runat="server" id="pippo">Ciao Pietro</cc1:la_bel>
        Public Property font_bold() As Boolean
            Get
                Dim b As Object = ViewState("font_bold")
                If IsNothing(b) Then
                    b = True
                Else
                    Return Convert.ToBoolean(b)
                End If
                Return Convert.ToBoolean(b)
            End Get
            Set(ByVal Value As Boolean)
                ViewState("font_bold") = Value
            End Set
        End Property
    
        Protected Overrides Sub AddAttributesToRender(ByVal writer As HtmlTextWriter)
            If font_bold Then 
                Me.Style.Add("font-weight", "bold")
            End If
        End Sub
    End Class
    Ciao
    Legnetto

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ti ringrazio della risposta
    Ho provato nel frattempo (visto che non ho materiale su cui studiare) ad utilizzare l'evento init del controllo, e mi sembra che funzioni. Cioè, se l'utilizzatore non usa: Label1.Font.Bold = False/True, il valore predefinito è True.


    Sono all'inizio. Continuerò a porre domande sperando nelle risposte...
    Pietro

  4. #4
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    La logica del controllo che ti ho postato e quella di una normale label che se, non ha impostato la property font_bold la setta di default a true e, di conseguenza im posta lo stile.
    Ciao
    Scusa la sommarietà della risposta...
    Ciao

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Legnetto
    La logica del controllo che ti ho postato e quella di una normale label che se, non ha impostato la property font_bold la setta di default a true e, di conseguenza im posta lo stile.
    Ciao
    Scusa la sommarietà della risposta...
    Ciao

    Certo, l'ho capito. Ma in questo momento, che sono in fase di studio e di comprensione, ho la necessità, non di creare una nuova proprietà, ma di utilizzarne una già esistente, modificandone magari i comportamenti. Mi spiego meglio. Con Visual Studio sovrascrivo la proprietà Font. Non esiste Font.Bold. Il sistema mi fornisce un property già confezionata, ma a solo lettura

    Non so se mi sono spiegato
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.