Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [vb.net] Nuova Class Component

    buon giorno.
    Ho realizzato una Class Component dove sono stati inseriti diversi settaggi, ma al momento di sfruttare la classe, in fase di progettazione del progetto nel quale utilizzo tale Componente, non mi è possibile editare il Nome!
    Personalmente non ho inserito una proprietà Name(), poichè tra le Proprietà la trovo automaticamente (quindi posso modificarla), ma a livello di codice non riesco a trovarla tra le proprietà editabili/ricavabili.


    Mi potreste indicare il problema??

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536

    Re: [vb.net] Nuova Class Component

    Originariamente inviato da lelo
    buon giorno.
    Ho realizzato una Class Component dove sono stati inseriti diversi settaggi, ma al momento di sfruttare la classe, in fase di progettazione del progetto nel quale utilizzo tale Componente, non mi è possibile editare il Nome!
    Personalmente non ho inserito una proprietà Name(), poichè tra le Proprietà la trovo automaticamente (quindi posso modificarla), ma a livello di codice non riesco a trovarla tra le proprietà editabili/ricavabili.


    Mi potreste indicare il problema??
    il problema a limite lo devi indicare tu, name la erediti da System.Windows.Forms.Control.

    a limite se vuoi manipolarla a livello di codice, o semplicemente la scrivi o la leggi , oppure (se hai dei buoni motivi) la riscrivi.

    codice:
    public TuaClasse : System.Windows.Forms.Control
    {
          public new string Name
          {
                get{return base.Name;}
                set
                {
                      ///faccio qualcosa
                      base.Name = value;
                }
          }
    }

  3. #3
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    ops ho letto meglio solo ora, che vuol dire non riesci ad editare il nome? hai la textbox disabilitata? o cosa?

  4. #4
    credo nn esser stato chiaro io!

    Provo a spiegare praticamente.
    Se voglio modificare il nome dell'oggetto dal pannello Proprietà, del mio Oggetto Classe presente nel form, la voce Name è presente.

    Se voglio assegnare il nome o ottenere il nome dal Progettazione Codice (per esempio attraverso un inserimenti dell'oggetto nel Form attraverso un ciclo), Name non è visibile!

    per esempio se volessi aggiungere posso semplicemente aggiungere un oggetto senza potergli dare un nome specifico, es:

    codice:
    'Crea il Calendar_ItemDay.
            Dim CalendarDay As New TeamManager.ProjLXXIV.Controls.Calendar_ItemDay()
            '
            'Imposta il Calendar_ItemDay.
            With CalendarDay
                 .DayText = MyDate.DayOfWeek.ToString
                 .Name =  ... 'non c'è!!!   
            End With
            '
            'Aggiunge al Calendar_DaysGroup il Giorno indicato.
            MyGroup.DayItems.Add(CalendarDay)
    attualmente la classe è:
    codice:
    Public Class Calendar_ItemDay
            Inherits System.ComponentModel.Component

  5. #5
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    Originariamente inviato da lelo
    credo nn esser stato chiaro io!

    Provo a spiegare praticamente.
    Se voglio modificare il nome dell'oggetto dal pannello Proprietà, del mio Oggetto Classe presente nel form, la voce Name è presente.

    Se voglio assegnare il nome o ottenere il nome dal Progettazione Codice (per esempio attraverso un inserimenti dell'oggetto nel Form attraverso un ciclo), Name non è visibile!

    per esempio se volessi aggiungere posso semplicemente aggiungere un oggetto senza potergli dare un nome specifico, es:

    codice:
    'Crea il Calendar_ItemDay.
            Dim CalendarDay As New TeamManager.ProjLXXIV.Controls.Calendar_ItemDay()
            '
            'Imposta il Calendar_ItemDay.
            With CalendarDay
                 .DayText = MyDate.DayOfWeek.ToString
                 .Name =  ... 'non c'è!!!   
            End With
            '
            'Aggiunge al Calendar_DaysGroup il Giorno indicato.
            MyGroup.DayItems.Add(CalendarDay)
    attualmente la classe è:
    codice:
    Public Class Calendar_ItemDay
            Inherits System.ComponentModel.Component

    c'è qualcosa che non mi è chiaro
    Calendar_ItemDay e una tua classe? se si la proprietà name devi averla per forza scritta tu (Component non ha proprietà name), se invece mi stai facendo vedere la dichiarazione ma la classe (Calendar_ItemDay) non è scritta da te e non sai cosa c'è nel codice, allora potrebbe essere che magari la proprietà che leggi (in progettazione) non è direttamente della classe o che sia impostata come internal e viene valorizzata magari dalla classe che gestisce la fase di progettazione attraverso chiamata indiretta o qualcosa di simile. li dovresti valutare dalla documentazione fornita con il componente.

    comunque nel caso potresti (forse) aggiungerla , ma il problema è che se hanno fatto un lavoro del genere ci deve essere un buon motivo.

    dai un occhio alla gerarchia delle classi per riuscire a capire meglio come funziona il componente.

  6. #6
    in effetti, cambiando da System.ComponentModel.Component a System.Windows.Forms.Control
    è diverso!

  7. #7
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    Originariamente inviato da lelo
    in effetti, cambiando da System.ComponentModel.Component a System.Windows.Forms.Control
    è diverso!
    dipende da quello che vuoi fare, ora io in vb non so se ti potrei essere d'aiuto (dipende dalle tue conoscenze, io ti posso indicare classi, ma non codice, a meno che non voglia c#), comunque se mi dici cosa devi realizzare o cosa stai realizzando ti posso aiutare meglio.

    la scelta tra Component o control deve essere dettata da motivazioni prese sulla base di quello che dovrai fare, se è solo il nome (name) puoi sempre aggiungerlo tu.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.