Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Name των controls

Îåêßíçóå áðü ôï ìÝëïò gmlogic. Τελευταία δημοσίευση από το μέλος sovilo στις 28-02-2006, 11:01. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-02-2006, 12:13 10196

    Geeked [8-|] Name των controls

    Πως μπορούμε τα Name των controls να μετονομάζονται μαζικά με ένα εύκολο τρόπο αφού δεν έχουμε array πλέον

    Ευχαριστώ


    George Matzouranis
  •  27-02-2006, 12:31 10201 σε απάντηση της 10196

    Απ: Name των controls

    Αν και δεν έχω παλαιότερη εμπειρία από τα arrays της VB6, και ίσως λόγω αυτού να μην κατανοώ πλήρως το λόγο για τον οποίο διατυπώνεται αυτή η ερώτηση, να πω οτι μπορείς γενικά στο runtime να αλλάξεις τα ονόματα των controls μέσω του Controls collection.

    Π.χ:

            For Each c As Control In Me.Controls
                c.Name = c.Name + "_changed"
            Next

    Αυτός ο κώδικας προσθέτει στο όνομα κάθε control της φόρμας το λεκτικό "_changed". Δεν λειτουργεί με containers όπως panels, δηλ. δεν αλλάζει τα ονόματα των controls που μπορεί να περιέχει ένα panel, εκεί χρειάζεται recursion.

    Δεν ξέρω αν η απάντησή μου είναι προς τη σωστή κατεύθυνση, οπότε αν κάποιος συνάδελφος έχει περισσότερη εμπειρία από VB6 ή αν εσύ ο ίδιος έχεις το χρόνο να αναπτύξεις λεπτομερέστερα το τι θέλεις να κάνεις, ίσως θα βοηθούσε να δοθεί μια λεπτομερέστερη απάντηση.

     


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  27-02-2006, 13:41 10210 σε απάντηση της 10201

    Απ: Name των controls

    Ας υποθέσουμε ότι θέλεις να αλλάξεις όλα τα TextBox1 ως TextBox10 με MyTextBox1 ως MyTextBox10

    Μπορείς να κάνεις το εξής:

    Ανοίγεις το Project και τον κώδικα πάνω στον οποίο θέλεις να κάνεις τις αλλαγές

    Πηγαίνεις στο "Find & Replace" και γράφεις στο Find what: Textbox*{:Nd}

    Στο Replace with γράφεις: MyTextbox\1

    Στο Find Options κάνεις κλικ στο Use και επιλέγεις "Regular Expressions"

    Κατόπιν, κάνεις Find, Replace ή Replace All ανάλογα.

    Αυτό είναι ένα απλό παράδειγμα, μπορείς να βρεις πιο σύνθετα παραδείγματα εδώ: http://www.dotnet2themax.com/blogs/fbalena/PermaLink,guid,7abffa8e-29f7-4931-97db-1589ddbc1d34.aspx

    Την πλήρη σύνταξη των Regular Expressions για το find & replace μπορείς να τη βρεις στο Help του Visual Studio


    Vir prudens non contra ventum mingit
  •  28-02-2006, 11:01 10241 σε απάντηση της 10196

    Απ: Name των controls

    Πάντως αν θες μέσω ενός sub να απευθυνθείς σε πολλά control (όπως έκανες στα arrays στην vb 6) μπορείς να το κάνεις όπως σου δείχνω παρακάτω.

    Private Sub Txt_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Txt1.DoubleClick, txt2.DoubleClick, Txt3.DoubleClick
    .
    .
    .
    End Sub

    Όπως βλέπεις όλα τα control που σε ενδιαφέρουν μπαίνουν στο τέλος της επικεφαλίδας της ρουτίνας.

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems