รหัสโปรแกรม

ปรับปรุงหน้า :
วันที่สร้างเพจ :

ลองมาดูรหัสของโปรแกรมในการดําเนินการ ฉันใช้ C # เป็นภาษาการเขียนโปรแกรม แต่ฉันจะอธิบายได้ราวกับว่าฉันรู้ C # ในระดับหนึ่ง หากคุณไม่แน่ใจมีหนังสือหลายเล่มเกี่ยวกับการเขียนโปรแกรม C# ที่คุณสามารถอ่านและศึกษาได้ มีสถานที่ที่มีการอธิบายค่อนข้างมากในเว็บไซต์อื่น ๆ ดังนั้นหากคุณไม่มีเงินคุณควรมองหาสถานที่ดังกล่าว

ก่อนอื่นเรามาเปิดไฟล์ "โปรแกรม .cs" ซึ่งเป็นจุดเริ่มต้นของโปรแกรมด้วย โดยวิธีการที่ส่วนขยายของไฟล์รหัส C # คือ". cs". เปิด 'สํารวจโซลูชัน' ทางด้านขวาของหน้าจอการพัฒนา (ขึ้นอยู่กับผู้ใช้) ในบางกรณี หน้าต่างจะถูกตรึงไว้ทางด้านขวาแล้ว จากนั้นดับเบิลคลิกที่ "โปรแกรม.cs"

ソリューション エクスプローラー

ฉันคิดว่าตัวแก้ไขแหล่งที่มาเปิดอยู่

ソースエディタ

เป็นการดีกว่าที่จะมีคุณแต่ละคนศึกษา C # แต่สําหรับตอนนี้ฉันต้องการอธิบายรหัสสั้น ๆ ในเคล็ดลับเหล่านี้


using System;
using System.Collections.Generic;
using System.Windows.Forms;

ชั้นเรียนควรเขียนในเนมสเปซที่ไหนสักแห่งเสมอ ตัวอย่างเช่น คลาส "ไฟล์" ซึ่งเกี่ยวข้องกับไฟล์ มีอยู่ในเนมสเปซ "ระบบ" และในเนมสเปซ "IO" โดยปกติในการใช้คลาส "ไฟล์" คุณต้องเขียนเนมสเปซทั้งหมดและสุดท้ายชื่อคลาสเป็น "System.IO.File"

System.IO.File f;

อย่างไรก็ตามหากคุณลงทะเบียนล่วงหน้าโดยใช้คําสั่ง "ใช้" คุณจะสามารถละเว้นเนมสเปซเมื่อใช้คลาส "ไฟล์" ได้จริง

using System.IO;
File f;

namespace Sample

เรียกว่าเนมสเปซ ตัวประมวลผลการดําเนินการทั้งหมดจะถูกเขียนไว้ในนั้น เนมสเปซมีชื่อเดียวกับชื่อโครงการที่คุณสร้างขึ้น หากคุณไม่ชอบคุณสามารถเปลี่ยนได้ในภายหลัง


static class Program

ชื่อชั้นเรียน ชื่อทางด้านขวาของ "ชั้นเรียน" คือชื่อชั้นเรียน โดยทั่วไปจะเข้าใจได้ง่ายขึ้นว่าชื่อไฟล์และชื่อคลาสอยู่ด้วยกันหรือไม่ "คงที่" ทางด้านซ้ายของ "คลาส" มักจะไม่จําเป็น แต่สําหรับคลาส "โปรแกรม" นี้คุณควรคิดว่ามันเป็นวิธีการวางไว้


/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
{
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  Application.Run(new Form1());
}

นี่คือจุดเริ่มต้นของกระบวนการจริง สามบรรทัดบนสุดคือความคิดเห็นดังนั้นอย่าสนใจพวกเขา มันมีอะไรจะทําอย่างไรกับการประมวลผลที่เกิดขึ้นจริง "[STAThread]" อาจไม่จําเป็นจริงๆ แต่ถ้าคุณไม่เข้าใจมันก็จะปลอดภัยกว่าที่จะใส่มันตามที่เป็นอยู่ "หลักโมฆะคงที่ ()" ในบรรทัดถัดไปเป็นหัวของวิธีการ ปล่อยให้เป็นเช่นนี้เว้นแต่จะมีสิ่งเลวร้ายเกิดขึ้น โปรแกรมจะดําเนินการจากวิธีนี้

「Application.EnableVisualStyles();」 อธิบายตัวควบคุมที่คุณต้องการวางบนฟอร์มถ้าคุณต้องการให้ตัวควบคุมเหล่านั้นอยู่ในสไตล์ XP เอาบรรทัดนี้ออกเฉพาะเมื่อคุณต้องการทําให้ดูเหมือนตัวควบคุมเก่าเท่านั้น โดยทั่วไปปล่อยให้มันเป็นเช่นนี้ 「Application.SetCompatibleTextRenderingDefault(false);」 เกี่ยวข้องกับการวาดข้อความของตัวควบคุม แต่โดยทั่วไปสามารถทิ้งไว้ตามที่เป็นอยู่ได้ 「Application.Run(แบบฟอร์มใหม่1());」 เพื่อเรียกใช้โปรแกรมประยุกต์จริง ที่นี่เราจะดําเนินการคลาสแบบฟอร์ม "Form1" เป็นหน้าต่างระดับบนสุด "Form1" คือคลาสของหน้าต่างที่แสดงใน "การดําเนินการตรวจแก้จุดบกพร่อง" ก่อนหน้านี้


ลองมาดูที่คลาส "Form1" นั้น ในโซลูชัน Explorer คลิกขวาที่ไฟล์ "Form1.cs" และแสดงใน "มุมมองโค้ด"

Form1 コードの表示

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Sample
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }
  }
}

นั่นคือรหัสทั้งหมดที่เขียนในคลาส "Form1" มีการอธิบายเฉพาะส่วนที่แตกต่างจากคลาส "โปรแกรม" เท่านั้น


public partial class Form1 : Form

พิจารณาว่า "สาธารณะ" เป็นสิ่งที่คุณใส่เสมอเมื่อคุณสร้างชั้นเรียน (อาจมีการเปลี่ยนแปลงในบางกรณี) ชั้นเรียนเป็นพื้น"สาธารณะ"ดังนั้นฉันจะให้พวกเขาใน "บางส่วน" ถูกใช้เพื่อแบ่งคลาสออกเป็นหลายไฟล์ นอกจากนี้ยังจําเป็นสําหรับชั้นเรียนที่สร้างฟอร์ม "ฟอร์ม" ที่ส่วนท้ายเป็นคลาสที่เป็นของเนมสเปซ "System.Windows.Forms" ในรหัสข้างต้น"การใช้ System.Windows.Forms;" เขียนเป็น "แบบฟอร์ม" สั้น ๆ ถ้าคุณเพิ่ม ":ฟอร์ม" หลังชื่อคลาส "Form1" หมายถึง "คลาส Form1 ที่สืบทอดมาจากคลาสฟอร์ม" โปรดจําไว้ว่าชั้นเรียนที่คุณกําลังสร้างแบบฟอร์มนั้นเป็นสิ่งที่ดูเหมือน


public Form1()
{
  InitializeComponent();
}

มันเป็นวิธีการ แต่เรียกว่า "ตัวสร้าง" ชื่อของวิธีการจะเหมือนกับชื่อคลาสเสมอ ตัวสร้างจะถูกดําเนินการทันทีหลังจากสร้างคลาสเสมอ ในคลาส "โปรแกรม" ด้านบน "Application.Run(แบบฟอร์มใหม่1());" เรากําลังใช้ตัวดําเนินการ "ใหม่" เพื่อสร้างคลาส "Form1" ดังนั้นตัวสร้างนี้จะถูกดําเนินการเสมอ ตอนนี้ภายในตัวสร้างมีวิธีการ "InitializeComponent()" ที่ดําเนินการ รหัสสําหรับคลาส "Form1" เป็นรหัสเดียวที่ฉันกล่าวถึง แต่คลาสนั้นแบ่งออกเป็นสองไฟล์ ใน Solution Explorer มีปุ่ม "+" ถัดจากไฟล์ "Form1.cs" ดังนั้นลองกด

Form1 の別のファイル

ไฟล์ "form1.designer .cs" ออกมา จริงๆแล้วเนื้อความของเมธอด "InitializeComponent" อธิบายไว้ในไฟล์นี้

ในตอนแรกประเภทของการประมวลผลที่ทําโดยวิธี "InitializeComponent" คือชุดข้อมูลบนหน้าจอ "ตัวออกแบบ" ของคลาส "Form1" จะถูกแทนที่ด้วยเนื้อหาที่ประมวลผลโดยโปรแกรมจริง ดังนั้นหากคุณเปลี่ยนคุณสมบัติ ฯลฯ บนหน้าจอ "ตัวออกแบบ" รหัสในไฟล์ "Form1.Designer .cs" จะถูกเขียนใหม่แบบเรียลไทม์ กล่าวอีกนัยหนึ่งคลาสแบ่งออกเป็นสองไฟล์เพื่อให้โปรแกรมเมอร์ไม่ต้องแก้ไขรหัสโดยตรง ดังนั้นคุณไม่จําเป็นต้องดูโค้ดโดยละเอียดดังนั้นคุณสามารถสรุปโค้ดของไฟล์ที่จะแก้ไขด้วยวิธีนี้ได้อย่างกระชับมาก นี่เป็นประโยชน์เฉพาะของ C # 2.0 ซึ่งน่าเสียดายที่ไม่มีคุณสมบัตินี้ นี้เป็นหนึ่งในเหตุผลที่ว่าทําไมฉันจะไปสําหรับ C # 2.0 (โดยวิธีการ C # 1.0 เป็นมาตรฐานใน Visual Studio 2002 และ 2003 และ C # 2.0 จะขึ้นอยู่กับ Visual Studio 2005.)

ถ้าคุณต้องการดูเนื้อหาของ "form1.designer .cs" คุณสามารถดับเบิลคลิกเพื่อดูได้ ฉันคิดว่ามันจะเป็นประโยชน์อย่างน่าประหลาดใจ ในบางกรณีคุณอาจต้องแก้ไขสิ่งนี้ดังนั้นจึงคุ้มค่าที่จะดู


ตอนนี้เราอธิบายรหัสเสร็จแล้วทันทีหลังจากสร้างโครงการ ลองเปลี่ยนการตั้งค่าเล็กน้อย

ชื่อฟอร์ม (คลาส) หลังจากสร้างโครงการจะเป็น "Form1" เสมอ ฉันคิดว่าอาจมีมากกว่าสองสามคนที่ไม่ชอบสิ่งนี้ดังนั้นเรามาเปลี่ยนชื่อกัน เนื่องจากจะเป็นหน้าต่างหลักเรามาลองใช้เป็น "MainForm"

ขั้นแรกจาก Solution Explorer ให้คลิกขวาที่ "Form1.cs" แล้วคลิก "เปลี่ยนชื่อ"

名前の変更

เนื่องจากสามารถเปลี่ยนชื่อได้จึงเขียนใหม่เป็น "MainForm .cs"

MainForm

กล่องโต้ตอบเช่นด้านล่างจะปรากฏขึ้นดังนั้นให้กดปุ่ม "ใช่" (มันอาจจะไม่ออกมา.) ในกรณีนี้คุณต้องเปลี่ยนด้วยตนเองด้วยการปรับโครงสร้างใหม่ ฯลฯ )

名前変更確認

จากนั้นทุกอย่างที่เกี่ยวข้องกับ "Form1" จะถูกเปลี่ยนชื่อเป็น "MainForm" ชื่อชั้นเรียนทั้งหมดจะเปลี่ยนไปด้วย มันง่ายขนาดนั้นใช่มั้ย?

全て名前変更