Form และ Properties & Events เมื่อเราสร้างโปรเจกต์ Windows Forms Application ใน Visual Studio 2026 แล้ว สิ่งแรกที่จะเห็นคือ Form1 หรือหน้าต่างหลักของโปรแกรม ซึ่งสามารถปรับแต่งคุณสมบัติต่าง ๆ ได้ผ่าน Properties Window
Form คืออะไร เอาไว้ทำอะไร
ใน การพัฒนา Windows Forms Application คำว่า Form หมายถึง หน้าต่าง (Window) ของโปรแกรม ซึ่งจะเป็นพื้นที่สำหรับให้ผู้ใช้โต้ตอบ (User Interface – UI) กับแอปพลิเคชัน
พูดง่าย ๆ Form คือหน้าต่างโปรแกรมนั่นเอง

Properties คืออะไร
Properties ของ Form คือ ชุดคุณสมบัติ (Attributes) ที่ใช้ควบคุมหน้าตาและพฤติกรรมของหน้าต่างโปรแกรม เช่น ขนาด สี ข้อความ ชื่อ และการแสดงผลต่าง ๆ
การเข้าถึง Properties ของ Form
การเข้าถึงคุณสมบัติ (Properties) ของ Form สามารถทำได้ดังนี้
- ไปที่ Solution Explorer แล้วดับเบิลคลิก
Form1.cs [Design](หรือฟอร์มอื่น ๆ ตามที่ต้องการ) - คลิกที่พื้นที่ว่างของ Form
- ไปที่ Properties Window (ปกติอยู่ด้านล่างขวา)
จะเห็นรายการ Properties มากมายที่สามารถปรับแต่งได้ทันที

Properties ของ Form มีจำนวนมาก (มากกว่า 80 รายการ) โดยขึ้นอยู่กับ .NET Version ที่ใช้ (ใน Visual Studio 2026 จะอิงกับ .NET 8/9)
Properties ต่าง ๆ ของ Form ใน Visual Studio 2026
Properties ต่าง ๆ ของ Form ที่มีให้ใช้งานใน Visual Studio 2026 มีดังนี้
Property ในกลุ่ม Accessibility
ใช้เพื่อสนับสนุน Accessibility (การเข้าถึงสำหรับผู้พิการทางสายตาหรือการใช้งานพิเศษ) เช่น Screen Reader หรืออุปกรณ์ช่วยเหลืออื่น ๆ
- AccessibleDescription → คำอธิบายของฟอร์ม ใช้กับผู้พิการทางสายตาที่ใช้ Screen Reader
- AccessibleName → ชื่อของฟอร์มสำหรับ Accessibility (ต่างจาก
Nameที่ใช้ในโค้ด) - AccessibleRole → บทบาทของฟอร์ม เช่น เป็นหน้าต่างหลัก หรือ Dialog
Property ในกลุ่ม Appearance
ใช้ควบคุมลักษณะการแสดงผลของฟอร์ม เช่น สี ฟอนต์ ขอบ และการวางภาพพื้นหลัง
- BackColor → กำหนดสีพื้นหลังของฟอร์ม
- BackgroundImage → ใส่รูปภาพเป็นพื้นหลังของฟอร์ม
- BackgroundImageLayout → วิธีจัดวางภาพ (Tile, Stretch, Zoom, Center)
- Cursor → รูปแบบ Cursor ที่แสดงเมื่ออยู่บนฟอร์ม เช่น Default, Hand, Cross
- Font → ฟอนต์เริ่มต้นของข้อความที่อยู่บนฟอร์ม
- ForeColor → สีของข้อความ/Control เริ่มต้นในฟอร์ม
- FormBorderStyle → ลักษณะของขอบฟอร์ม (None, FixedDialog, Sizable ฯลฯ)
- RightToLeft → กำหนดการแสดงข้อความจากขวาไปซ้าย (ใช้กับภาษาอาหรับ/ฮิบรู)
- RightToLeftLayout → ใช้ร่วมกับ
RightToLeftสำหรับ Layout แบบ RTL - Text → ข้อความที่แสดงบน Title Bar ของฟอร์ม
- UseWaitCursor → ถ้ากำหนดเป็น
Trueจะเปลี่ยน Cursor ทั้งฟอร์มเป็น “รอ” (เช่น นาฬิกาทราย/วงกลมหมุน)
Property ในกลุ่ม Behavior
ควบคุมพฤติกรรมของฟอร์ม เช่น การอนุญาต Drag & Drop, Context Menu, การแสดงผลให้ลื่นขึ้น หรือการรองรับ IME
- AllowDrop → อนุญาต Drag & Drop บนฟอร์มหรือไม่
- AutoValidate → การตรวจสอบค่าของ Control อัตโนมัติ (EnablePreventFocusChange, Disable, Inherit ฯลฯ)
- ContextMenuStrip → เมนูคลิกขวาของฟอร์ม (Context Menu)
- DoubleBuffered → ลดการกระพริบของหน้าจอเมื่อวาด UI (ใช้ Buffer)
- Enabled → เปิด/ปิดการทำงานของฟอร์ม
- ImeMode → โหมดการป้อนข้อมูลสำหรับภาษาที่ใช้ IME (จีน ญี่ปุ่น เกาหลี)
Property ในกลุ่ม Data
ใช้จัดการข้อมูลหรือค่าที่ผูกไว้กับฟอร์ม
- DataBindings → การผูกค่ากับ Data Source เช่น Database หรือ Object
- Tag → ฟิลด์ทั่วไปที่ใช้เก็บข้อมูลใด ๆ (Object) เช่น สถานะ หรือค่าพิเศษ
Property ในกลุ่ม Design
ใช้กำหนดค่าที่เกี่ยวข้องกับการออกแบบ (Design-time) และการรองรับหลายภาษา
- (Name) → ชื่อฟอร์ม ใช้เรียกในโค้ด เช่น
Form1 - Language → ภาษาสำหรับ Resource (ใช้ทำ Localization)
- Localizable → ถ้ากำหนดเป็น
Trueจะสามารถตั้งค่าฟอร์มให้รองรับหลายภาษาได้ - Locked → ถ้ากำหนดเป็น
Trueจะล็อกไม่ให้เลื่อน Control บนฟอร์มในโหมด Design
Property ในกลุ่ม Focus
ใช้ควบคุมการตรวจสอบข้อมูล (Validation) เมื่อเปลี่ยนโฟกัส
- CausesValidation → ถ้ากำหนดเป็น
Trueจะเรียกการตรวจสอบข้อมูล (Validation) ของ Control ก่อนเปลี่ยนโฟกัส
Property ในกลุ่ม Layout
ใช้ควบคุมขนาด, การจัดวาง และตำแหน่งของฟอร์ม
- AutoScaleMode → วิธีการปรับสัดส่วน UI (None, Font, Dpi, Inherit)
- AutoScroll → ถ้ากำหนดเป็น
Trueฟอร์มจะมี Scrollbar อัตโนมัติถ้ามี Control เกินขอบเขต - AutoScrollMargin → ระยะขอบเมื่อใช้ Scrollbar
- AutoScrollMinSize → ขนาดขั้นต่ำของ Scrollable Area
- AutoSize → ปรับขนาดฟอร์มอัตโนมัติจากเนื้อหาภายใน
- AutoSizeMode → กำหนดโหมด AutoSize (GrowOnly, GrowAndShrink)
- Location → พิกัดตำแหน่งบนหน้าจอ (X,Y)
- MaximumSize → ขนาดสูงสุดของฟอร์ม
- MinimumSize → ขนาดต่ำสุดของฟอร์ม
- Padding → ระยะห่างภายใน (ภายในขอบฟอร์ม)
- Size → ขนาดของฟอร์ม (กว้าง × สูง)
- StartPosition → ตำแหน่งตอนเปิดฟอร์ม (CenterScreen, Manual ฯลฯ)
- WindowState → สถานะเริ่มต้น (Normal, Minimized, Maximized)
Property ในกลุ่ม Misc
ใช้สำหรับการทำงานร่วมกับคีย์บอร์ดและปุ่มลัด
- AcceptButton → ปุ่มที่จะทำงานอัตโนมัติเมื่อกด Enter
- CancelButton → ปุ่มที่จะทำงานอัตโนมัติเมื่อกด Esc
- KeyPreview → ถ้ากำหนดเป็น
Trueฟอร์มจะรับ Key Event ก่อนส่งให้ Control ภายใน
Property ในกลุ่ม Window Style
ควบคุมลักษณะการแสดงผลของหน้าต่าง (Window) เช่น ปุ่ม Title Bar, ไอคอน, ความโปร่งใส และพฤติกรรม MDI
- ControlBox → กำหนดว่าจะให้มีปุ่มควบคุมบน Title Bar (Minimize, Maximize, Close) หรือไม่
- ค่า
True= แสดงปุ่ม - ค่า
False= ไม่แสดงปุ่มเลย
- ค่า
- HelpButton → กำหนดว่าจะให้มีปุ่ม Help (?) อยู่บน Title Bar หรือไม่ (ใช้กับ FormBorderStyle แบบ FixedDialog เท่านั้น)
- Icon → ไอคอนที่แสดงบน Title Bar และ Taskbar ของฟอร์ม
- สามารถกำหนดไฟล์
.icoของโปรแกรมเองได้
- สามารถกำหนดไฟล์
- IsMdiContainer → ระบุว่าฟอร์มนี้เป็น MDI Parent หรือไม่
- ถ้ากำหนดเป็น
Trueฟอร์มนี้จะเป็น Container ที่บรรจุ MDI Child Forms ได้ (เหมือนการเปิดหลายเอกสารในหน้าต่างเดียว เช่น Word รุ่นเก่า ๆ)
- ถ้ากำหนดเป็น
- MainMenuStrip → ระบุเมนูหลัก (
MenuStrip) ที่จะใช้ในฟอร์มนี้ - MaximizeBox → กำหนดว่าจะให้มีปุ่ม Maximize บน Title Bar หรือไม่
- MdiChildrenMinimizedAnchorBottom → กำหนดว่าจะให้ MDI Child Forms ที่ย่อ (Minimize) ไปอยู่ด้านล่างของ MDI Parent หรือไม่
True= อยู่ด้านล่าง (Default)False= อยู่ด้านบน
- MinimizeBox → กำหนดว่าจะให้มีปุ่ม Minimize บน Title Bar หรือไม่
- Opacity → ความโปร่งใสของฟอร์ม (ค่า 0% – 100%)
100%= ทึบเต็ม50%= โปร่งใสครึ่งหนึ่ง
- ShowIcon → แสดง/ซ่อนไอคอนบน Title Bar ของฟอร์ม
- ShowInTaskbar → กำหนดว่าฟอร์มนี้จะแสดงใน Taskbar ของ Windows หรือไม่
- SizeGripStyle → กำหนดการแสดงปุ่ม Size Grip (มุมขวาล่างสำหรับลากปรับขนาด)
Auto= แสดงถ้าฟอร์มสามารถปรับขนาดได้Show= แสดงเสมอHide= ไม่แสดงเลย
- TopMost → กำหนดว่าฟอร์มนี้จะอยู่ด้านบนสุดเสมอหรือไม่ (แม้จะเปิดหน้าต่างอื่น)
- TransparencyKey → กำหนด สีที่จะทำให้โปร่งใส บนฟอร์ม
- เช่น ถ้าเลือกสีชมพู พื้นที่ที่มีสีชมพูบนฟอร์มจะโปร่งใสทั้งหมด
Event คืออะไร?
Event คือ “เหตุการณ์” ที่เกิดขึ้นในขณะผู้ใช้โต้ตอบกับ Form หรือ Control เช่น การคลิกเมาส์ การพิมพ์คีย์บอร์ด การโหลดฟอร์ม หรือการเปลี่ยนค่า Property ใด ๆ
เมื่อ Event เกิดขึ้น เราสามารถ เขียนโค้ดตอบสนอง (Event Handler) ได้ เช่น เมื่อ Form ถูกโหลดขึ้นมา ให้โปรแกรมแสดงข้อความ เป็นต้น
ตัวอย่างการเขียนคำสั่งในเหตุการณ์ Load
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("ฟอร์มถูกโหลดแล้ว!");
}การเข้าถึง Event
การเข้าถึง Event ของ Form หรือ Control อื่น ๆ สามารถทำได้โดยคลิกที่ไอคอนรูปสายฟ้า ในหน้าต่าง Properties

จะมีรายการ Event ต่าง ๆ ให้เลือกใช้ แยกเป็นกลุ่ม
รายการ Event ของ Form ที่มีให้ใช้ใน Visual Studio 2026
ใน Visual Studio 2026 มี Event ของ Form ที่สามารถใช้ได้ ดังนี้
Event ในกลุ่ม Action
กลุ่มนี้เกี่ยวข้องกับการกระทำของผู้ใช้ที่มีผลกับฟอร์มโดยตรง เช่น การคลิกเมาส์หรือการปรับขนาดฟอร์ม
- Click → เรียกใช้เมื่อมีการคลิกเมาส์บนฟอร์ม
- DoubleClick → เรียกใช้เมื่อดับเบิลคลิกบนฟอร์ม
- MouseCaptureChanged → เกิดเมื่อฟอร์มสูญเสียการจับ (Capture) ของเมาส์
- MouseClick → เรียกเมื่อผู้ใช้คลิกด้วยปุ่มเมาส์ (ซ้าย/ขวา)
- MouseDoubleClick → เรียกเมื่อดับเบิลคลิกเมาส์
- ResizeBegin → เริ่มต้นการปรับขนาดหน้าต่าง
- ResizeEnd → จบการปรับขนาดหน้าต่าง
- Scroll → เมื่อฟอร์มถูกเลื่อน (Scroll)
Event ในกลุ่ม Appearance
ใช้สำหรับควบคุมการวาด/Render ฟอร์มใหม่ เมื่อมีการเปลี่ยนแปลงที่ทำให้ต้อง Refresh UI
- Paint → ใช้สำหรับวาด/Render UI ของฟอร์มใหม่
Event ในกลุ่ม Behavior
เกี่ยวข้องกับพฤติกรรมของฟอร์ม การเปิด/ปิด การเปลี่ยนสไตล์ หรือการโต้ตอบกับระบบ
- ChangeUICues → เมื่อมีการเปลี่ยนการแสดงผลของ UI เช่น Focus Cue
- ControlAdded → เมื่อมีการเพิ่ม Control ลงในฟอร์ม
- ControlRemoved → เมื่อมีการลบ Control ออกจากฟอร์ม
- FormClosed → ฟอร์มถูกปิดแล้ว
- FormClosing → กำลังจะปิดฟอร์ม (ยังสามารถยกเลิกได้)
- HelpButtonClicked → เมื่อผู้ใช้คลิกปุ่ม Help (?)
- HelpRequested → เมื่อมีการร้องขอ Help (เช่น กด F1)
- ImeModeChanged → โหมดการป้อนข้อมูล IME (จีน ญี่ปุ่น เกาหลี) ถูกเปลี่ยน
- InputLanguageChanged → ภาษาคีย์บอร์ดถูกเปลี่ยน
- InputLanguageChanging → กำลังจะเปลี่ยนภาษาคีย์บอร์ด
- Load → ฟอร์มถูกโหลดขึ้นมา (ครั้งแรกที่เปิด)
- QueryAccessibilityHelp → ฟอร์มขอข้อมูลสำหรับ Accessibility
- Shown → ฟอร์มถูกแสดงครั้งแรก (หลัง Load เสร็จ)
- StyleChanged → สไตล์ของฟอร์มเปลี่ยน เช่น BorderStyle
- SystemColorsChanged → เมื่อสีระบบของ Windows ถูกเปลี่ยน (เช่น เปลี่ยน Theme)
Event ในกลุ่ม Data
เกี่ยวข้องกับการเปลี่ยนแปลงของข้อมูล และการ Binding
- DataBindings → การเปลี่ยนแปลงการผูกข้อมูล (Data Binding)
- DataContextChanged → แหล่งข้อมูล (DataContext) ถูกเปลี่ยน
Event ในกลุ่ม Drag Drop
ใช้ควบคุมการลากและวาง (Drag & Drop) ข้อมูลลงในฟอร์ม
- DragDrop → มีการปล่อยข้อมูล (Drop) ลงในฟอร์ม
- DragEnter → มีการลากเข้ามาในฟอร์ม
- DragLeave → มีการลากออกจากฟอร์ม
- DragOver → มีการลากผ่านฟอร์ม
- GiveFeedback → ให้ Feedback ระหว่าง Drag & Drop
- QueryContinueDrag → เมื่อระบบถามว่าจะดำเนินการ Drag ต่อหรือไม่
Event ในกลุ่ม Focus
ควบคุมการโฟกัสของฟอร์ม เมื่อผู้ใช้เลือก/เปลี่ยนหน้าต่าง
- Activated → ฟอร์มได้รับโฟกัส (Active)
- Deactivate → ฟอร์มสูญเสียโฟกัส (Inactive)
- Enter → เมื่อโฟกัสเข้ามาที่ฟอร์ม
- Leave → เมื่อโฟกัสออกจากฟอร์ม
- Validated → ฟอร์มผ่านการตรวจสอบข้อมูลสำเร็จ
- Validating → กำลังตรวจสอบข้อมูล (สามารถยกเลิกได้)
Event ในกลุ่ม Key (Keyboard Events)
ใช้จัดการกับการกดคีย์บอร์ด
- KeyDown → เมื่อกดปุ่มคีย์บอร์ดลง
- KeyPress → เมื่อกดปุ่มตัวอักษร (ใช้กับอักขระ เช่น a, b, c)
- KeyUp → เมื่อปล่อยปุ่มคีย์บอร์ด
- PreviewKeyDown → เมื่อกดปุ่มคีย์บอร์ด แต่เกิดก่อน KeyDown (ใช้ดักจับพิเศษ)
Event ในกลุ่ม Layout
จัดการกับการเปลี่ยนแปลงการจัดวางหน้าต่าง
- DpiChanged → ความละเอียด DPI ของหน้าจอเปลี่ยน (ใช้กับ High DPI Display)
- DpiChangedAfterParent → DPI ของฟอร์มเปลี่ยนหลังจาก Parent
- DpiChangedBeforeParent → DPI ของฟอร์มเปลี่ยนก่อน Parent
- Layout → เมื่อมีการจัดวาง (Layout) Control ภายในฟอร์ม
- MdiChildActivate → เมื่อ MDI Child ได้รับการ Activate
- Move → เมื่อฟอร์มถูกย้ายตำแหน่ง
- PaddingChanged → เมื่อ Padding ของฟอร์มถูกเปลี่ยน
- Resize → เมื่อขนาดฟอร์มเปลี่ยน
Event ในกลุ่ม Mouse
จัดการกับการเคลื่อนไหวและการคลิกเมาส์
- MouseDown → เมื่อกดปุ่มเมาส์
- MouseEnter → เมื่อเมาส์เลื่อนเข้ามาในฟอร์ม
- MouseHover → เมื่อเมาส์หยุดอยู่บนฟอร์ม
- MouseLeave → เมื่อเมาส์เลื่อนออกจากฟอร์ม
- MouseMove → เมื่อเมาส์เคลื่อนที่ในฟอร์ม
- MouseUp → เมื่อปล่อยปุ่มเมาส์
Event ในกลุ่ม Property Changed
ใช้ตรวจสอบเมื่อค่า Property ของฟอร์มเปลี่ยนแปลง
- AutoSizeChanged → เมื่อค่า AutoSize เปลี่ยน
- AutoValidateChanged → เมื่อค่า AutoValidate เปลี่ยน
- BackColorChanged → สีพื้นหลังเปลี่ยน
- BackgroundImageChanged → พื้นหลังรูปภาพเปลี่ยน
- BackgroundImageLayoutChanged → วิธีจัดวางรูปภาพเปลี่ยน
- BindingContextChanged → Context ของ Data Binding เปลี่ยน
- CausesValidationChanged → เมื่อค่า CausesValidation เปลี่ยน
- ClientSizeChanged → ขนาดพื้นที่ภายในฟอร์มเปลี่ยน
- ContextMenuStripChanged → Context Menu เปลี่ยน
- CursorChanged → Cursor เปลี่ยน
- DockChanged → การ Dock เปลี่ยน
- EnabledChanged → การเปิด/ปิดฟอร์มเปลี่ยน
- FontChanged → ฟอนต์เปลี่ยน
- ForeColorChanged → สีตัวอักษรเปลี่ยน
- LocationChanged → ตำแหน่งฟอร์มเปลี่ยน
- MaximizedBoundsChanged → พื้นที่ Maximize เปลี่ยน
- MaximumSizeChanged → ขนาดสูงสุดเปลี่ยน
- MinimumSizeChanged → ขนาดต่ำสุดเปลี่ยน
- ParentChanged → ฟอร์มแม่ (Parent) เปลี่ยน
- RegionChanged → บริเวณที่แสดงฟอร์มเปลี่ยน
- RightToLeftChanged → การแสดงผล RTL เปลี่ยน
- RightToLeftLayoutChanged → Layout RTL เปลี่ยน
- SizeChanged → ขนาดฟอร์มเปลี่ยน
- TextChanged → ข้อความ Title Bar เปลี่ยน
- VisibleChanged → สถานะการมองเห็นฟอร์มเปลี่ยน
วิธีเพิ่ม Form ใหม่เข้ามาในโปรเจ็กต์
เมื่อเราสร้างโปรเจ็กต์แบบ Windows Forms App เราจะได้ฟอร์มมา 1 ฟอร์มเสมอ แต่ในโปรเจ็กต์จริงนั้น มักจะมีฟอร์มมากกว่า 1 ฟอร์ม
เราสามารถเพิ่มฟอร์มใหม่เข้ามาในโปรเจ็กต์ด้วยวิธีดังนี้
วิธีที่ 1 คลิกที่เมนู Project > Add Form (Windows Forms)

วิธีที่ 2 คลิกขวาที่ชื่อโปรเจ็กต์ > Add > Form (Windows Forms)

ตั้งชื่อฟอร์มแล้วคลิกปุ่ม Add

อย่างไรก็ตาม ถึงแม้ว่าเราจะเพิ่มฟอร์มเข้ามาในโปรเจ็กต์มากกว่า 1 ฟอร์ม แต่ฟอร์มแรกที่ถูกสร้างตอนสร้างโปรเจ็กต์จะแสดงเป็นลำดับแรกเสมอเมื่อมีการรันโปรเจ็กต์
แต่เราสามารถสั่งให้แสดงฟอร์มอื่นเป็นลำดับแรกได้ โดยการแก้ไขโค้ดที่คลาส Program (Program.cs)
namespace WinFormsApp
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new Form1());
}
}
}บรรทัดที่ 14 แก้ชื่อฟอร์มเป็นชื่ออื่นที่ต้องการให้แสดงเป็นลำดับแรก เช่น
Application.Run(new Form2());การเขียนโค้ดเพื่อเปิดฟอร์มใหม่
กรณีที่ต้องการสั่งให้เปิดฟอร์มด้วยการเขียนโค้ด เช่น ให้แสดงฟอร์มเมื่อคลิกปุ่ม สามารถทำได้หลายวิธี ดังนี้
วิธีที่ 1 เปิดฟอร์มแบบ Modeless (ผู้ใช้สามารถสลับไปมาระหว่างฟอร์มได้)
การเปิดฟอร์มแบบนี้ ผู้ใช้งานสามารถคลิกสลับไปมาระหว่างฟอร์มลูกกับฟอร์มหลักได้
private void btnOpen_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(); // สร้าง instance ของฟอร์มใหม่
form2.Show(); // เปิดฟอร์มแบบไม่บล็อกฟอร์มหลัก
}วิธีที่ 2 เปิดฟอร์มแบบ Modal (ผู้ใช้ต้องปิดฟอร์มก่อนถึงจะกลับไปฟอร์มหลักได้)
การเปิดฟอร์มวิธีนี้ ผู้ใช้งานจะไม่สามารถสลับไปมาระหว่างฟอร์มได้ ต้องปิดฟอร์มที่เปิดอยู่เสียก่อนจึงจะกลับไปยังฟอร์มหลักได้
private void btnOpen_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(); // สร้าง instance ของฟอร์มใหม่
form2.ShowDialog(); // เปิดฟอร์มแบบบล็อก
}วิธีที่ 3 เปิดฟอร์มแล้วส่งค่าไปด้วย
การเปิดฟอร์มวิธีนี้จะส่งค่าออกจากฟอร์มหลักไปด้วย และฟอร์มที่ถูกเปิดจากฟอร์มหลักจะสามารถนำค่านั้นไปใช้ได้
ฟอร์มหลัก (Form1.cs)
private void btnOpen_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2("ข้อความจากฟอร์มหลัก"); // สร้าง instance ของฟอร์มใหม่ และส่งค่าพารามิเตอร์เข้าไปด้วย
form2.ShowDialog(); // เปิดฟอร์มแบบบล็อก
}ฟอร์มลูก (Form2.cs)
public Form2(string v) // รับค่าพารามิเตอร์จากฟอร์มหลัก
{
InitializeComponent();
label1.Text = v; // แสดงข้อความที่รับมาจากฟอร์มหลัก
}