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

 

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

Πέρασμα τιμών σε φόρμες

Îåêßíçóå áðü ôï ìÝëïò Alexander. Τελευταία δημοσίευση από το μέλος Alexander στις 01-06-2006, 13:39. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  31-05-2006, 16:08 13508

    Πέρασμα τιμών σε φόρμες

    Γεια σας,
    είμαι ένας αρχάριος προγραμματιστής, και προσπαθώ να μάθω c#.

    Έχω λοιπόν το εξής πρόβλημα:
    Σε μια εφαρμογή θέλω να υπάρχει η επιλογή options.
    Η ιδέα μου ήταν να δημιουργήσω δύο φόρμες, μία για την εφαρμογή, και μία που θα εμφανίζεται όταν ο χρήστης θέλει να πειράξει τα options.
    Με ένα MenuStrip λοιπόν εμφανίζεται αυτή η δεύτερη φόρμα.
    Έστω τώρα ότι έχω ένα pictureBox στην πρώτη φόρμα, του οποίου η εικόνα θέλω να αλλάζει από την δεύτερη φόρμα.
    Έχω γράψει τον εξής κώδικα

    private void browseButton_Click(object sender, EventArgs e)
            {
                OpenFileDialog file = new OpenFileDialog();

                file.InitialDirectory = "Images/";

                if(file.ShowDialog() == DialogResult.OK){
                    Form1.pictureBox1.Load(file.FileName);
                }
            }
    και μου εμφανίζει το μύνημα (λάθους) :

     An object reference is required for the nonstatic field, method, or property 'AI_Project.Form1.myEntity'

    Μπορεί κάποιος να μου εξηγήσει τι πρέπει να κάνω;
  •  31-05-2006, 18:38 13511 σε απάντηση της 13508

    Απ: Πέρασμα τιμών σε φόρμες

    ΥΓ : ο κώδικας αυτός είναι στην δεύτερη φόρμα (αυτή με τα options)
  •  31-05-2006, 18:39 13512 σε απάντηση της 13508

    Απ: Πέρασμα τιμών σε φόρμες

    To Form1 που έχεις στον κώδικά σου, είναι το όνομα της κλάσσης η οποία υλοποιεί τη φόρμα σου, δεν είναι το instance το οποίο δημιουργείται κατα τη διάρκεια της εφαρμογής σου.

    Δυστυχώς δεν έχω αυτή τη στιγμή το χρόνο να επεκταθώ γιατί θα χρειαστεί μάλλον ένα μικρό tutorial σε object orientation ... πάντως κάπου μέσα στον κώδικα της εφαρμογής σου υπάρχει μια γραμμή του στύλ:

    Form1 myForm = new Form1(...);

    Η δεύτερη φόρμα σου, πρέπει να μιλήσει στο myForm, το variable, όχι τον τύπο Form1 ...

    Ελπίζω να ήταν σχετικά σαφή όλα αυτα :-?

    ( αααχχχ ... χρόνε άτιμε μπαμπέσση που λέει και το τραγούδι ... :P )
    Angel
    O:]
  •  01-06-2006, 11:57 13540 σε απάντηση της 13512

    Απ: Πέρασμα τιμών σε φόρμες

    Ναι, κατάλαβα τι λες, έχεις δίκιο!

    Δεν βρήκα κάτι τέτοιο όμως

    Form1 myForm = new Form1();

    έψαξα στο program.cs, και αυτό που βρήκα ήταν

    Application.Run(new Form());

    Τώρα μπορεί κ να λέω βλακείες, αλλά τώρα ξεκινάω c# και έχω μπερδευτεί λίγο...

  •  01-06-2006, 12:56 13541 σε απάντηση της 13540

    Απ: Πέρασμα τιμών σε φόρμες

    //Βήμα 1ον

    //προσθέτουμε δημιουργία instance

    Form1 form1 = new Form1();

    //αλλαγή προυπάρχουσας γραμμής

    Αpplication.Run(form1);

    //Βήμα 2ον

    //Προσθέτουμε στον γραμμή που δημιουργούμε την φόρμα options

    // το όρισμα this για παράδειγμα

    FOptions options = new FOptions( this );

    //Βήμα 3ον

    //Προσθέτουμε στη φόρμα Options να πεδίο

    Form1 parent_form;

    //στον constructor της φόρμας προσθετουμε τα α και β

    public FOptions(/*α*/ Form1 parent)

    {

    /*β*/ parent_form = (Form1)parent;

    //...

    }

    //τέλος αλλάζουμε τη γραμμή αλλαγής της εικόνας σε

    parent_form.pictureBox1.Load(file.FileName);

    //ελπίζω να βοήθησα
  •  01-06-2006, 13:39 13544 σε απάντηση της 13508

    Απ: Πέρασμα τιμών σε φόρμες

    Βοήθησες πολύ, κυρίως στο να ξεμπλεχτώ λίγο!

    Δουλεύει μια χαρά τώρα, σας ευχαριστώ και τους δύο!

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