Evgenios1 Δημοσ. 18 Ιουλίου 2008 Δημοσ. 18 Ιουλίου 2008 > /* πρτα φτιαξε ενα project Consola Application * πιγενοντας στο μενου * File->New Project και επιλεγοντας Consola Apllicatio * * για να δουλεψει το προγραμμα προτα πρεπει να κανεις ADD μερικα References * 1) System * 2) System.Drawing * 3) System.Windows.Forms * για να το κανεισ αυτο πιγενε στο διαλογο add references * απο το μενου Project->Add Reference... στο tab .NET * * τελος πηγενε στο Solution Explorer 2κλικ στα properties στο tab Application * εκει που λεει output type βαλε windows application * */ namespace MyFirstApp { //************************ // Καινδρικη/Πρωτη κλαση. class Program // Οταν πατισεις 2κλικ { // στο exe (προγραμμα)θα static void Main(string[] args) // τρεξει αυτη η κλαση { // ξεχωριζει απο το ονομα τις // μεθοδου 'Main'. // // static: Στατικη μεθοδος // στην ουσια δινει τιν δινατοητα // να χρισιμοποιηουμε τη μεθοδος ΧΩΡΙΣ // προηγουμενος να τις εχουμε ορισει Structor // //args: εισοδος ,χρισιμεβει περισοτερο στο Cmd //************************ System.Windows.Forms.Application.EnableVisualStyles();//για XP & VISTA //στρονκγιλοποιει τα κουμπια κλπ. System.Windows.Forms.Application.Run(new MyFirstForm());//τρεχω τη φορμα μου } } //************************* φτιαχνοντας μια φορμα/παραθυρο *************************** public class MyFirstForm : System.Windows.Forms.Form { // Form ειναι μια κλαση "ετιμης" φορμας/παραθυρο // οι τελιες αναμεσα στο System Windows κλπ // δηλονουν οτι το System ειναι namespace // παρομιος Windows Forms . System.Windows.Forms.TextBox myTextBox;//φτιαχνουμε ενα αντικειμενο MyTextBox "πλαισειο κειμενου" System.Windows.Forms.Button myButton;//φτιαχνουμε ενα αντικειμενο myButton "κουμπι" System.Windows.Forms.Button skinChangButton; System.Windows.Forms.Button CloseButton; // ******************************************* public MyFirstForm() // MyFirstForm ειναι ο Constructor { // δεν εχει την δηνατοτητα να επιστρεψει καμια τιμη // εχει το ιδιο ονομα με τη κλαση. InstalMyWindow(); // καλουμε τη μεθοδο InstalMyWindow() } // private void InstalMyWindow() //κατασκευαζουμε τη μεθοδο InstalMyWindow() { // this.Width = 400; // this.Height = 400; //this μαλιστα... //αυτη η "εντολη" κατακαπιο τροπο αντικαταστα //το ονομα αυτης της κλασης τελος παντον δες στο //τερμα του κειμενου //******************************************* //αφου εχεις <<πιστευω>> κατανωησει το τη κανει το this //Αφου χρησημοποιουμε τη βαση απο τη κλαση Form //εχουμε και τοις μεθοδους της <<για την ακρυβια //το Width ,Height κλπ. δεν εχουν "()" και δεν ειναι //μεθοδοι αλλα επιλογες "properties">> //το Width , Height ειναι οι διαστασεις της φορμας/παραθυρο //******************************************* //πιο πανω εχουμε δυο αντικειμενα myButton,myTextBox //αυτα ειναι κενα <<ειναι σαν να λεμε "int a;" ε ναι //το a ειναι αρηθμος αλλα δεν εχει κανα αρηθμο>> για αυτο θα //βαλουμε μια"τιμη" <<θα ενεργοποιησουμε το Constructor myButton = new System.Windows.Forms.Button();//με τη χρηση της μαγικης λεξης new myTextBox = new System.Windows.Forms.TextBox(); //Ωραια εχουμε ενα κουμπι και ενα πλαισειο κειμενου //πρεπει να διαμορφοσουμε και το μεγεθος αυτων myTextBox.Height = 20; myTextBox.Width = 100;//pixels myButton.Height = 20; myButton.Width = 60; myButton.Text = "Button"; //βαζουμε και ενα ονομα στο κουμπι //πρεπει επησεις να τα βαλουμε καπου στη φορμα/παραθηρο myTextBox.Location = new System.Drawing.Point(50, 50); myButton.Location = new System.Drawing.Point(50, 100); //τελος πρεπει να τα ενσοματοσουμε στη κλαση μας //με τη χριση της μεθοδους Controls.Add() απο τη Form this.Controls.Add(myButton); this.Controls.Add(myTextBox); /**************** πατα run "F5" *************************************************************/ //ωραια εχουμε μια φορμα με ενα πλαισειο κειμενου και ενα κουμπι //αλλα δε κανει τιποτα . //θελουμε ενα γεγονος "event" ετσι οστε το κουμπι να κανει κατι myButton.Click += new System.EventHandler(onClickMyButton); //το ακολουθο ειναι για το επομενο κοματη skinChangButton = new System.Windows.Forms.Button(); skinChangButton.Click += new System.EventHandler(skinChangButton_Click); } void skinChangButton_Click(object sender, System.EventArgs e) { DarkSkin(); } void onClickMyButton(object sender, System.EventArgs e)//αυτη η μεθοδος θα ενεργοποιηται //αυτοματα με το που θα πατιεται το κουμπι μας { myTextBox.Text = "hello word"; //βαζουμε κατι μεσα στο πλαισειο κειμενου DarkSkin(); } /*********** ωραια ειναι ενα ξεπερασμενο παραθηρο/φορμα απο αποψη γραφικων ***************/ //ας φτιαξουμε μια μεθδος που θα το κανει καπος προτοτυπο private void DarkSkin() { this.BackColor = System.Drawing.Color.Black;//background this.ForeColor = System.Drawing.Color.Black;//χρωμα γραμματοσιρας this.myButton.BackColor = System.Drawing.Color.Gray; this.myButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.myTextBox.BackColor = System.Drawing.Color.Gray; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;//ας βγαλουμε το κοντρολ των Windows //ναι αλλα χορεις αυτο δεν θα μπορουμε να το κλεισουμε //αρα φτιαχνουμε ενα κουμει τερματισμου CloseButton = new System.Windows.Forms.Button(); CloseButton.Size = new System.Drawing.Size(20, 20); CloseButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; CloseButton.Location = new System.Drawing.Point(360, 0); CloseButton.BackColor = System.Drawing.Color.Red; CloseButton.Click += new System.EventHandler(onClickClose); this.Controls.Add(CloseButton); //μαλιστα.. δε θελω να το βλεπω στο μενου this.ShowInTaskbar = false; this.Opacity = 0.95; } void onClickClose(object sender, System.EventArgs e) { this.Close(); // κλεινει οτι φτιαξαμε } } } //this : χρησει ανδικειμενων απο τη κλαση που βρισκετε /*παραδιγμα * class A *{ * int x=9; * public MyMetod(int x) * { * this.x = x; //χρισιμοπιοντας this.x αναφερομαστε στο πανω x και οχι στη παραμετρου * //της μεθοδους που επησεις διαθετει x * //και το απλο x ειναι η παραμετρος της μεθοδους <<αυτα>> * } *} */
gtroza Δημοσ. 18 Ιουλίου 2008 Δημοσ. 18 Ιουλίου 2008 γράφε τα σχόλια του κώδικα σε greeklish αυτό επιτρέπεται sorry Eygenios1:-) .
ippo00 Δημοσ. 18 Ιουλίου 2008 Δημοσ. 18 Ιουλίου 2008 Το this είναι pointer στην κλάση από την οποία καλείς την μέθοδο. Δεν είναι εντολή, και δεν "αντικαταστά" τίποτα.
Evgenios1 Δημοσ. 18 Ιουλίου 2008 Μέλος Δημοσ. 18 Ιουλίου 2008 Το this είναι pointer στην κλάση από την οποία καλείς την μέθοδο. Δεν είναι εντολή, και δεν "αντικαταστά" τίποτα. Προσπαθω να το εξιγησω ωσο πιο απλουστερα γηνεται.
ippo00 Δημοσ. 18 Ιουλίου 2008 Δημοσ. 18 Ιουλίου 2008 Βασικά ακόμα και αν η εξήγηση είναι ποιό απλή, πράγμα με το οποίο διαφωνώ, είναι λάθος. Αυτό όμως γιατί το έκανες πόστ? Υπάρχει κάτι που θες να ρωτήσεις ή απλά ήθελες να μας το δείξεις?
ippo00 Δημοσ. 18 Ιουλίου 2008 Δημοσ. 18 Ιουλίου 2008 args: εισοδος ,χρισιμεβει περισοτερο στο Cmd Περισσότερο? static: Στατικη μεθοδος στην ουσια δινει τιν δινατοητα να χρισιμοποιηουμε τη μεθοδος ΧΩΡΙΣ προηγουμενος να τις εχουμε ορισει Structor wtf? Form ειναι μια κλαση "ετιμης" φορμας/παραθυρο οι τελιες αναμεσα στο System Windows κλπ δηλονουν οτι το System ειναι namespace παρομιος Windows Forms . orly? System.Windows.Forms.TextBox myTextBox;//φτιαχνουμε ενα αντικειμενο MyTextBox "πλαισειο κειμενου" Εδώ δεν φτιάχνεις "πλαισειο κειμενου" άλλά το δείκτη στο "πλαισειο κειμενου" που φτιάχνεις αργότερα. Τέλος πάντων βαρέθηκα να το διαβάζω. 1/10 για την προσπάθεια.
Crizzt Δημοσ. 18 Ιουλίου 2008 Δημοσ. 18 Ιουλίου 2008 - Ελεος με την ορθογραφια, το word τα φτιαχνει αυτοματα και να μη ξερεις. - Δε καταλαβαινω το στοχο σου. Θες να εξηγησεις σε καποιον τα βασικα της C#?
Evgenios1 Δημοσ. 19 Ιουλίου 2008 Μέλος Δημοσ. 19 Ιουλίου 2008 - Ελεος με την ορθογραφια, το word τα φτιαχνει αυτοματα και να μη ξερεις.- Δε καταλαβαινω το στοχο σου. Θες να εξηγησεις σε καποιον τα βασικα της C#? Η παιδεια μας φτεει που με αφισαν να περασω το λυκειο με 16Μ.Ο. (Ν.Ελληνικη 15)
blashyrkh+ Δημοσ. 20 Ιουλίου 2008 Δημοσ. 20 Ιουλίου 2008 Η παιδεια μας φτεει που με αφισαν να περασω το λυκειο με 16Μ.Ο.(Ν.Ελληνικη 15) no comment.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.