บทช่วยสอนเกี่ยวกับการควบคุม TEXTBOX ใน VB.Net: คุณสมบัติพร้อมตัวอย่าง

⚡ สรุปอย่างชาญฉลาด

ข้อความBox ส่วนควบคุมใน VB.Net รับข้อมูลป้อนเข้าจากผู้ใช้ Windows กำหนดและเปิดเผยคุณสมบัติ เช่น Multiline, PasswordChar, MaxLength และ ReadOnly เพื่อกำหนดวิธีการป้อน ซ่อน จำกัด หรือล็อกข้อความขณะรันไทม์

  • 🧩 วัตถุประสงค์หลัก: ข้อความBox ตัวควบคุมจะบันทึกข้อมูลที่ผู้ใช้ป้อนเข้ามาแบบบรรทัดเดียวหรือหลายบรรทัดบน Windows สร้างแบบฟอร์มระหว่างการทำงาน
  • 🔤 คุณสมบัติที่สำคัญ: TextAlign, ScrollBars, Multiline, MaxLength, Readonly และ PasswordChar ใช้สำหรับปรับแต่งพฤติกรรมของคอนโทรล
  • 🔐 การปกปิดรหัสผ่าน: การตั้งค่า PasswordChar เป็น * จะซ่อนอักขระขณะที่ผู้ใช้พิมพ์ping ข้อมูลที่ละเอียดอ่อนจะถูกเก็บเป็นความลับ
  • 📄 หลายบรรทัด: ตั้งค่า Multiline เป็น True จากนั้นใช้ ControlChars.NewLine เพื่อแบ่งข้อความออกเป็นบรรทัดแยกกัน
  • 🔢 ค่าตัวเลข: แปลงสตริงด้วย Integer.Parse ก่อนที่จะประมวลผลข้อความใดๆBox ป้อนเป็นตัวเลข
  • 🤖 ความช่วยเหลือจาก AI: GitHub Copilot และ Visual Studio 2026 IntelliCode สามารถสร้างตัวจัดการเหตุการณ์และตรวจสอบความถูกต้องของข้อมูลที่ป้อนเข้ามาได้

VB.Net ข้อความBox คุณสมบัติการควบคุมและตัวอย่าง

ข้อความคืออะไรBox ควบคุม?

ข้อความBox การควบคุมช่วยให้คุณป้อนข้อความในแบบฟอร์มของคุณระหว่างรันไทม์ การตั้งค่าเริ่มต้นคือจะยอมรับข้อความเพียงบรรทัดเดียว แต่คุณสามารถแก้ไขได้เพื่อยอมรับหลายบรรทัด คุณยังสามารถใส่แถบเลื่อนลงในข้อความของคุณได้Box ควบคุม.

ข้อความBox อสังหาริมทรัพย์

ต่อไปนี้เป็นคุณสมบัติทั่วไปที่สุดของ Visual Basic TextBox ควบคุม:

  • จัดตำแหน่งข้อความ– สำหรับการตั้งค่าการจัดแนวข้อความ
  • แถบเลื่อน– สำหรับเพิ่มแถบเลื่อนทั้งแนวตั้งและแนวนอน
  • มัลติไลน์– เพื่อตั้งค่าข้อความBox ควบคุมเพื่อให้มีหลายบรรทัด
  • MaxLength– สำหรับระบุจำนวนอักขระสูงสุดในข้อความBox การควบคุมจะยอมรับ
  • ดัชนี– สำหรับการระบุดัชนีของอาร์เรย์ควบคุม
  • เปิดใช้งาน– สำหรับการเปิดใช้งานการควบคุมกล่องข้อความ
  • อ่านเท่านั้น– หากตั้งค่าเป็นจริง คุณจะสามารถใช้ข้อความได้Box หากตั้งค่า Control เป็น false คุณจะไม่สามารถใช้ Text ได้Box ควบคุม.
  • การเลือกStart– สำหรับการตั้งค่าหรือรับจุดเริ่มต้นสำหรับข้อความBox ควบคุม.
  • การเลือกความยาว– สำหรับตั้งค่าหรือรับจำนวนตัวอักษรที่เลือกไว้ในข้อความBox ควบคุม.
  • ข้อความที่เลือก– ส่งคืนข้อความBox การควบคุมที่เลือกอยู่ในปัจจุบัน

ข้อความBox อีเวนต์

วัตถุประสงค์ของกิจกรรมคือเพื่อสร้างข้อความBox การควบคุมตอบสนองต่อการกระทำของผู้ใช้ เช่น การคลิก การดับเบิลคลิก หรือการเปลี่ยนแปลงการจัดตำแหน่งข้อความ ต่อไปนี้คือเหตุการณ์ทั่วไปสำหรับข้อความBox ควบคุม:

  • เปลี่ยนขนาดอัตโนมัติแล้ว– เกิดจากการเปลี่ยนแปลงคุณสมบัติ AutoSize
  • อ่านอย่างเดียวเปลี่ยนแปลงแล้ว– ทริกเกอร์โดยการเปลี่ยนแปลงค่าคุณสมบัติ ReadOnly
  • คลิก– เกิดขึ้นจากการคลิกที่ข้อความBox ควบคุม.

วิธีการสร้างข้อความBox

ทำตามขั้นตอนเหล่านี้เพื่อเพิ่มข้อความแรกของคุณBox ควบคุมไปยัง Windows สร้างและแสดงข้อความทักทายในระหว่างการทำงาน

ขั้นตอนที่ 1) เพื่อสร้างข้อความBoxให้ลากข้อความBox ควบคุมจากกล่องเครื่องมือเข้าไปใน Windows รูปแบบ:

ข้อความBox เพิ่มการควบคุมเข้าไปใน Windows พื้นผิวออกแบบรูปทรง

ขั้นตอน 2)

  1. คลิกข้อความBox ควบคุมที่คุณได้เพิ่มลงในแบบฟอร์ม
  2. ย้ายไปที่ส่วนคุณสมบัติที่อยู่ที่ด้านซ้ายล่างของหน้าจอ เปลี่ยนชื่อกล่องข้อความจากข้อความBox1 ถึง HelloTextBox:

การเปลี่ยนชื่อข้อความBox ถึง HelloTextBox ในหน้าต่างคุณสมบัติ

ขั้นตอนที่ 3) เพิ่มโค้ดต่อไปนี้เพื่อเพิ่มข้อความลงในตัวควบคุม:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Add text to the control
         HelloTextBox.Text = "Hello. Welcome to Guru99!"
  End Sub

ขั้นตอนที่ 4) ตอนนี้คุณสามารถรันโค้ดได้โดยคลิกปุ่ม Start ที่แถบด้านบน:

ปุ่ม Start บนแถบเครื่องมือ Visual Studio ใช้สำหรับรันโปรเจ็กต์

ขั้นตอนที่ 5) คุณควรได้รับแบบฟอร์มดังต่อไปนี้:

กำลังเรียกใช้แบบฟอร์มที่แสดงข้อความ สวัสดี ยินดีต้อนรับสู่ Guru99! ในข้อความBox

นี่คือภาพหน้าจอของโค้ดที่สมบูรณ์สำหรับรายการด้านบน:

โค้ด Form1_Load ที่กำหนดค่า HelloText ให้สมบูรณ์Box ข้อความ

คำอธิบายของรหัส:

  1. สร้างคลาสสาธารณะชื่อ Form1
  2. การสร้างขั้นตอนย่อยชื่อ Form1_Load มันจะถูกเรียกเมื่อมีการโหลดแบบฟอร์ม
  3. ข้อความแสดงความคิดเห็น คอมไพเลอร์ VB.Net จะข้ามส่วนนี้ไป
  4. สิ้นสุดขั้นตอนย่อย
  5. จบชั้นเรียน

คุณสมบัติ PasswordChar

บางครั้ง คุณอาจต้องการใช้กล่องข้อความสำหรับพิมพ์ping รหัสผ่าน หมายความว่าสิ่งใดก็ตามที่พิมพ์ลงในช่องข้อความนั้นจะต้องเป็นความลับ ซึ่งสามารถทำได้ด้วย VB.Net- ก็สามารถทำได้โดยใช้ รหัสผ่าน คุณสมบัติที่ช่วยให้เราใช้ตัวละครใดก็ได้ที่คุณต้องการ ให้เราสาธิตสิ่งนี้โดยใช้ตัวอย่าง:

เริ่มต้นด้วยการสร้างโครงการใหม่ ลากสองข้อความBox ตัวควบคุม ป้ายชื่อสองป้าย และปุ่มหนึ่งปุ่มลงในแบบฟอร์ม เปลี่ยนข้อความบนป้ายชื่อสองป้ายและปุ่มเป็นดังต่อไปนี้:

แบบฟอร์มล็อกอินพร้อมช่องชื่อผู้ใช้ รหัสผ่าน และข้อความBox ปุ่มควบคุม และปุ่มเข้าสู่ระบบ

คลิกกล่องข้อความข้างป้ายชื่อผู้ใช้ แล้วไปที่ส่วนคุณสมบัติที่ด้านซ้ายล่างของหน้าต่าง ตั้งชื่อเป็น UsernameField

การกำหนดค่าคุณสมบัติ Name ของข้อความชื่อผู้ใช้Box ไปยังช่องชื่อผู้ใช้

ทำเช่นเดียวกันกับข้อความBox การควบคุมถัดจากป้ายกำกับรหัสผ่าน โดยตั้งชื่อว่า PasswordField

การกำหนดค่าคุณสมบัติ "ชื่อ" ของข้อความรหัสผ่านBox ไปยังช่องรหัสผ่าน

ตอนนี้คุณควรสร้างข้อความ PasswordFieldBox ตัวควบคุมจะแสดง * สำหรับแต่ละอักขระที่พิมพ์ลงไป เพิ่มโค้ดต่อไปนี้:

Private Sub PasswordField_TextChanged(sender As Object, e As EventArgs) Handles PasswordField.TextChanged
       PasswordField.PasswordChar = "*"
End Sub

ตอนนี้ให้รันโค้ดโดยคลิกปุ่มเริ่ม แบบฟอร์มจะปรากฏขึ้น

พิมพ์ชื่อผู้ใช้และรหัสผ่านแล้วสังเกตสิ่งที่เกิดขึ้น คุณจะเห็นสิ่งต่อไปนี้:

แบบฟอร์มล็อกอินทำงานโดยที่ช่องใส่รหัสผ่านถูกปิดบังด้วยเครื่องหมายดอกจัน

ชื่อผู้ใช้ปรากฏขึ้นแต่รหัสผ่านถูกซ่อนไว้ นี่คือรหัสสำหรับด้านบน:

โค้ดตัวจัดการเหตุการณ์ PasswordChar แบบเต็มใน VB.Net สำหรับ PasswordField_TextChanged

คำอธิบายของรหัส:

  1. การสร้างคลาสชื่อ Form1
  2. สร้างซับโปรซีเดอร์ชื่อ PasswordField_TextChanged() ซึ่งจะถูกเรียกเมื่อฟอร์มโหลดเสร็จ
  3. การใช้คุณสมบัติ PasswordChar เพื่อแสดง * เมื่อผู้ใช้พิมพ์รหัสผ่าน
  4. สิ้นสุดขั้นตอนย่อย
  5. จบชั้นเรียน

ขึ้นบรรทัดใหม่ในข้อความBox

โดยค่าเริ่มต้น คุณสามารถสร้างข้อความในกล่องข้อความได้เพียงบรรทัดเดียว มีสองวิธีในการทำเช่นนั้น มาอธิบายกัน

ลากและวางข้อความBox ส่วนควบคุมสำหรับแบบฟอร์มของคุณ ตั้งชื่อส่วนควบคุมนั้น Guruยินดีต้อนรับ

ข้อความBox เปลี่ยนชื่อเป็น Guruคำว่า "ยินดีต้อนรับ" ปรากฏอยู่บนพื้นผิวการออกแบบแบบฟอร์ม

คลิกที่ตัวควบคุมกล่องข้อความอีกครั้งและเลื่อนเคอร์เซอร์เมาส์ไปที่ส่วนคุณสมบัติ เปลี่ยนค่าของคุณสมบัติหลายบรรทัดเป็น True

ตั้งค่าคุณสมบัติ Multiline เป็น True ในหน้าต่าง Properties

อีกทางเลือกหนึ่ง คุณสามารถตั้งค่าคุณสมบัติ Multiline เป็น true ในโค้ดของคุณได้ดังนี้:

Guruยินดีต้อนรับ.หลายบรรทัด = จริง

เพิ่มรหัสต่อไปนี้:

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        GuruWelcome.Multiline = True

        GuruWelcome.Text = "Line 1"

        GuruWelcome.Text = GuruWelcome.Text & ControlChars.NewLine & "Line 2"

    End Sub

เมื่อดำเนินการ ข้อความทั้งสองบรรทัดจะถูกแยกออกจากกัน

รูปแบบการแสดงผลแบบต่อเนื่อง โดยแสดงบรรทัดที่ 1 และบรรทัดที่ 2 คั่นด้วยขึ้นบรรทัดใหม่

คำอธิบายของ Code:

  1. การสร้างคลาสชื่อ Form1
  2. สร้างซับรูทีนชื่อ Form1_Load()
  3. ตั้งค่าคุณสมบัติ Multiline เป็น True ช่องข้อความจะสามารถแสดงข้อความได้มากกว่าหนึ่งบรรทัด
  4. การเพิ่มบรรทัดข้อความแรกลงในกล่องข้อความ
  5. เพิ่มข้อความบรรทัดที่สองลงในกล่องข้อความ คุณสมบัติ ControlChars.NewLine ช่วยให้เราแบ่งข้อความออกเป็นสองบรรทัด
  6. สิ้นสุดกิจวัตรย่อย
  7. จบชั้นเรียน

การดึงค่าจำนวนเต็ม

VB.Net ถือว่าทุกอย่างเป็นสตริง นั่นหมายความว่าคุณอ่านค่าจำนวนเต็มจากกล่องข้อความในรูปแบบสตริง จากนั้นจึงแปลงสตริงนั้นกลับเป็นจำนวนเต็ม ซึ่งโดยปกติจะทำได้โดยใช้เมธอด Integer.Parse()

ในการสาธิต ให้สร้างตัวควบคุมกล่องข้อความใหม่พร้อมปุ่ม ตั้งชื่อกล่องข้อความว่า age ตั้งชื่อปุ่มว่า Button1 คุณควรมีอินเทอร์เฟซต่อไปนี้:

ข้อความBox ระบุอายุและมีปุ่ม "แสดงอายุ" อยู่ในแบบฟอร์ม

เพิ่มรหัสต่อไปนี้:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim x As Integer
        x = Integer.Parse(age.Text)
        MessageBox.Show(x)

รันโค้ดและป้อนอายุของคุณลงในกล่องข้อความ คลิกปุ่มแสดงอายุ คุณจะเห็นสิ่งต่อไปนี้:

หน้าต่างแสดงอายุจะแสดงค่าจำนวนเต็มที่ป้อนในข้อความBox

ค่าที่คุณป้อนจะถูกส่งกลับในข้อความBox.

โค้ด Button1_Click ฉบับเต็มที่แยกวิเคราะห์ข้อความอายุBox ค่าเป็นจำนวนเต็ม

คำอธิบายของ Code:

  1. การสร้างคลาสชื่อ Form1
  2. การสร้างขั้นตอนย่อยชื่อ Button1_Click มันจะถูกเรียกเมื่อมีการคลิกปุ่ม
  3. การกำหนดตัวแปรจำนวนเต็มชื่อ x
  4. การแปลงค่าที่อ่านจากกล่องข้อความที่ชื่ออายุให้เป็นจำนวนเต็ม
  5. การแสดงค่าที่แปลงในขั้นตอนข้างต้นในข้อความBox.
  6. สิ้นสุดขั้นตอนย่อย

ข้อความแบบอ่านอย่างเดียวBox

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

Private Sub guru99_TextChanged(sender As Object, e As EventArgs) Handles guru99.TextChanged

        guru99.Text = "welcome to Guru99"

        guru99.ReadOnly = True

    End Sub

โค้ดควรส่งคืนสิ่งต่อไปนี้:

ข้อความแบบอ่านอย่างเดียวBox กำลังดำเนินการพร้อมข้อความยินดีต้อนรับสู่ Guru99 รายการที่ไม่สามารถแก้ไขได้

นี่คือรหัส:

โค้ดตัวจัดการเหตุการณ์ guru99_TextChanged ฉบับเต็ม ตั้งค่า ReadOnly เป็น True

คำอธิบายของ Code:

  1. การสร้างคลาสชื่อ Form1
  2. การสร้างรูทีนย่อยชื่อ guru99_TextChanged
  3. การเพิ่มข้อความลงในกล่องข้อความที่ชื่อ guru99
  4. ตั้งค่าคุณสมบัติ ReadOnly ของกล่องข้อความเป็น True ซึ่งจะทำให้ข้อความในกล่องข้อความไม่สามารถแก้ไขได้
  5. สิ้นสุดขั้นตอนย่อย
  6. จบชั้นเรียน

คุณสมบัติความยาวสูงสุด

คุณสมบัติ MaxLength ช่วยให้คุณกำหนดจำนวนคำหรืออักขระสูงสุดที่กล่องข้อความจะอนุญาตได้ เพื่อแสดงสิ่งนี้ ให้สร้าง TextBox ควบคุมและตั้งชื่อให้ว่า fullName จากนั้นเพิ่มโค้ดต่อไปนี้:

Private Sub fullName_TextChanged(sender As Object, e As EventArgs) Handles fullName.TextChanged

        fullName.MaxLength = 8

    End Sub

เรียกใช้โค้ดแล้วลองพิมพ์ชื่อเต็มของคุณ คุณจะไม่สามารถพิมพ์เกิน 8 ตัวอักษร โดยมีช่องว่างรวมอยู่ด้วย:

ความยาวข้อความสูงสุดBox จำกัดการป้อนข้อมูลไว้ที่แปดตัวอักษรในระหว่างการทำงานของโปรแกรม

รหัสสินค้า:

โค้ด fullName_TextChanged ฉบับเต็มที่ตั้งค่า MaxLength เป็น 8

Code คำอธิบาย:

  1. การสร้างคลาสชื่อ Form1
  2. การสร้างขั้นตอนย่อยชื่อ fullName_TextChanged
  3. การทำให้ช่องข้อความ fullName ยอมรับอักขระได้สูงสุด 8 ตัวเท่านั้น
  4. สิ้นสุดขั้นตอนย่อย
  5. จบชั้นเรียน

คำถามที่พบบ่อย

A ข้อความBox จัดเก็บข้อความธรรมดาที่มีข้อจำกัดจำนวนอักขระ 64 ตัว และใช้ทรัพยากรต่ำ เหมาะสำหรับการป้อนข้อมูลในแบบฟอร์ม ริชเท็กซ์Box รองรับแบบอักษร สี รูปภาพ และความยาวไม่จำกัด จึงเหมาะสำหรับบรรณาธิการที่ต้องการเนื้อหาที่มีรูปแบบเฉพาะหรือเนื้อหาขนาวยาว

จัดการเหตุการณ์ KeyPress และตั้งค่า e.Handled = True เมื่อไรก็ตาม Char.IsDigit และ Char.IsControl ทั้งสองวิธีส่งค่ากลับเป็น False สำหรับการตรวจสอบความถูกต้องที่สามารถวางได้อย่างปลอดภัย ให้ใช้เหตุการณ์ Validating ร่วมกับ จำนวนเต็ม.ลองแยกวิเคราะห์ และแสดงผลตอบรับผ่าน ErrorProvider

ใช่. นักบิน GitHub อ่านโค้ดของฟอร์มโดยรอบและแนะนำตัวจัดการเหตุการณ์ TextChanged, KeyPress หรือ Validating ที่สมบูรณ์ Revตรวจสอบโค้ดที่สร้างขึ้น เพิ่มการตรวจสอบค่าว่าง และปรับชื่อให้สอดคล้องกับข้อกำหนดของโครงการของคุณก่อนที่จะยอมรับ

Visual Studio 2026 IntelliCode จัดอันดับสมาชิกคนต่อไปที่มีแนวโน้มจะเข้าร่วมใน TextBox ตัวอย่างเช่น ระบบจะเติมข้อความอัตโนมัติสำหรับการกำหนดค่าคุณสมบัติ เช่น Multiline หรือ MaxLength และแนะนำการแก้ไขทั้งบรรทัดโดยอิงจากรูปแบบที่เรียนรู้จากตัวอย่างนับพัน Windows แบบฟอร์มโครงการ

ค่าเริ่มต้นของ MaxLength คือ 32,767 ตัวอักษร ซึ่งตรงกับขีดจำกัดของ Int16.MaxValue ตั้งค่าคุณสมบัตินี้เป็นตัวเลขบวกที่น้อยกว่าเพื่อจำกัดการป้อนข้อมูล หรือตั้งค่าเป็น 0 เพื่ออนุญาตให้ใช้ค่าสูงสุดที่ตัวควบคุมรองรับ

ตั้งค่า Multiline เป็น True และ WordWrap เป็น True WordWrap จะเปิดใช้งานโดยค่าเริ่มต้นเมื่อเปิดใช้งาน Multiline ดังนั้นบรรทัดยาวๆ จะขึ้นบรรทัดใหม่ที่ขอบเขตคำแทนที่จะเลื่อนในแนวนอน เพิ่ม ScrollBars = Vertical หากข้อความยาวเกินพื้นที่ที่มองเห็นได้

TextChanged จะทำงานเมื่อคุณสมบัติ Text เปลี่ยนแปลงไม่ว่าด้วยเหตุผลใดก็ตาม รวมถึงการวางหรือการอัปเดตโดยโปรแกรม KeyPress จะทำงานหนึ่งครั้งสำหรับแต่ละปุ่มอักขระในขณะที่ typingก่อนที่การเปลี่ยนแปลงจะไปถึงบัฟเฟอร์ ซึ่งเป็นเหตุผลที่ใช้เพื่อบล็อกอักขระที่ไม่ถูกต้อง

ข้อความมาตรฐานBox ใช้แบบอักษรและสีตัวอักษรเดียวกับส่วนควบคุมทั้งหมด สำหรับส่วนย่อยที่มีสี แบบอักษรผสม หรือรูปภาพที่ฝังอยู่ ให้เปลี่ยนเป็นแบบอื่น ริชเท็กซ์Boxซึ่งจะแสดงค่า SelectionColor และ SelectionFont บนช่วงที่เลือกในปัจจุบัน

สรุปโพสต์นี้ด้วย: