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

    Object Vs Control: quale è meglio usare ?

    Salve...

    sto facendo un ciclo for each per iterare una serie di controlli posti all'interno di un GroupBox....

    Sostanzialmente devo solo scorrere i controlli contenuti nel groupbox e modificare la proprietà BACKCOLOR....

    ho usato qualcosa di questo tipo

    codice:
    Dim obj As Object
           For Each obj In GroupBox.Controls
                If TypeOf obj Is ComboBox Or TypeOf obj Is TextBox Then
                    obj.BackColor = color.red
                End If
            Next obj
    MA mi stavo chiedendo se non è meglio usare al posto di una oggetto generico un oggetto CONTROL....cioè cosi

    codice:
    Dim ctrl As control
           For Each ctrl In GroupBox.Controls
                If TypeOf ctrl Is ComboBox Or TypeOf ctrl Is TextBox Then
                    ctrl.BackColor = color.red
                End If
            Next ctrl
    So che queste nozioni sono alla base di una buona programmazione ma sono nel pallone...non ricordo ..... il codice funziona in entrambi i modi....ho fatto un test calcolando i millisecondi usati dalle 2 procedure separatamente, ma ho l'impressione che il tutto vari molto in base al carico momentaneo del mio PC....

    Mi rinfrescate la memoria ?
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  2. #2
    Usando una variabile di tipo Object costringi il .NET Framework ad effettuare un cast al tipo Object ad ogni ciclo e quindi ad utilizzare il late binding per lavorare sulla proprietà BackColor; siccome invece i membri della collection sono di tipo Control l'assegnamento ad una variabile di tipo Control di ciascuno di essi non richiede alcun cast, e siccome la proprietà BackColor è membra di Control non costringi il Framework a ricorrere al late binding, tecnica notoriamente dispendiosa in termini di tempo perso.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Ti ringrazio !!
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

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.