บทช่วยสอนเกี่ยวกับการควบคุม TEXTBOX ใน VB.Net: คุณสมบัติพร้อมตัวอย่าง
ข้อความคืออะไรBox ควบคุม?
ข้อความBox การควบคุมช่วยให้คุณป้อนข้อความในแบบฟอร์มของคุณระหว่างรันไทม์ การตั้งค่าเริ่มต้นคือจะยอมรับข้อความเพียงบรรทัดเดียว แต่คุณสามารถแก้ไขได้เพื่อยอมรับหลายบรรทัด คุณยังสามารถใส่แถบเลื่อนลงในข้อความของคุณได้Box ควบคุม.
ข้อความBox อสังหาริมทรัพย์
ต่อไปนี้เป็นคุณสมบัติทั่วไปที่สุดของ Visual Basic TextBox ควบคุม:
- จัดตำแหน่งข้อความ– สำหรับการตั้งค่าการจัดแนวข้อความ
- แถบเลื่อน– สำหรับเพิ่มแถบเลื่อนทั้งแนวตั้งและแนวนอน
- มัลติไลน์– เพื่อตั้งค่าข้อความBox ควบคุมเพื่อให้มีหลายบรรทัด
- MaxLength– สำหรับระบุจำนวนอักขระสูงสุดในข้อความBox การควบคุมจะยอมรับ
- ดัชนี– สำหรับการระบุดัชนีของอาร์เรย์ควบคุม
- เปิดใช้งาน– สำหรับการเปิดใช้งานการควบคุมกล่องข้อความ
- อ่านเท่านั้น– หากตั้งค่าเป็นจริง คุณจะสามารถใช้ข้อความได้Box การควบคุม หากตั้งค่าเป็นเท็จ คุณจะไม่สามารถใช้ข้อความได้Box ควบคุม.
- การเลือกStart– สำหรับการตั้งค่าหรือรับจุดเริ่มต้นสำหรับข้อความBox ควบคุม.
- การเลือกความยาว– สำหรับตั้งค่าหรือรับจำนวนตัวอักษรที่เลือกไว้ในข้อความBox ควบคุม.
- ข้อความที่เลือก– ส่งคืนข้อความBox การควบคุมที่เลือกอยู่ในปัจจุบัน
เหตุการณ์ Textbox
วัตถุประสงค์ของกิจกรรมคือเพื่อสร้างข้อความBox การควบคุมตอบสนองต่อการกระทำของผู้ใช้ เช่น การคลิก การดับเบิลคลิก หรือการเปลี่ยนแปลงการจัดตำแหน่งข้อความ ต่อไปนี้คือเหตุการณ์ทั่วไปสำหรับข้อความBox ควบคุม:
- เปลี่ยนขนาดอัตโนมัติแล้ว– เกิดจากการเปลี่ยนแปลงคุณสมบัติ AutoSize
- อ่านอย่างเดียวเปลี่ยนแปลงแล้ว– ทริกเกอร์โดยการเปลี่ยนแปลงค่าคุณสมบัติ ReadOnly
- คลิก– เกิดขึ้นจากการคลิกที่ข้อความBox ควบคุม.
วิธีการสร้างข้อความBox
ขั้นตอน 1) เพื่อสร้างข้อความBoxให้ลากข้อความBox การควบคุมจากกล่องเครื่องมือเข้าสู่ WindowForm:
ขั้นตอน 2)
- คลิกข้อความBox ควบคุมที่คุณได้เพิ่มลงในแบบฟอร์ม
- ย้ายไปที่ส่วนคุณสมบัติที่อยู่ที่ด้านซ้ายล่างของหน้าจอ เปลี่ยนชื่อกล่องข้อความจากข้อความBox1 ถึง 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) ตอนนี้คุณสามารถเรียกใช้โค้ดได้โดยคลิกปุ่มเริ่มที่แถบด้านบน:
ขั้นตอน 5) คุณควรได้รับแบบฟอร์มต่อไปนี้:
นี่คือภาพหน้าจอของโค้ดที่สมบูรณ์สำหรับรายการด้านบน:
คำอธิบายของรหัส:
- การสร้างคลาสสาธารณะชื่อ Form1
- การสร้างขั้นตอนย่อยชื่อ Form1_Load มันจะถูกเรียกเมื่อมีการโหลดแบบฟอร์ม
- ความคิดเห็น. คอมไพเลอร์ VB.net จะข้ามสิ่งนี้
- สิ้นสุดขั้นตอนย่อย
- จบชั้นเรียน
อักขระรหัสผ่าน
บางครั้งคุณต้องการใช้กล่องข้อความเพื่อพิมพ์รหัสผ่าน ซึ่งหมายความว่าข้อมูลใดๆ ที่พิมพ์ลงในกล่องข้อความนั้นจะต้องเป็นความลับ ซึ่งทำได้ด้วย วีบี.เน็ต- ก็สามารถทำได้โดยใช้ รหัสผ่าน คุณสมบัติที่ช่วยให้เราใช้ตัวละครใดก็ได้ที่คุณต้องการ ให้เราสาธิตสิ่งนี้โดยใช้ตัวอย่าง:
เริ่มต้นด้วยการสร้างโครงการใหม่ ลากสองข้อความBox ตัวควบคุม ป้ายชื่อสองป้าย และปุ่มหนึ่งปุ่มลงในแบบฟอร์ม เปลี่ยนข้อความบนป้ายชื่อสองป้ายและปุ่มเป็นดังต่อไปนี้:
คลิกกล่องข้อความข้างป้ายชื่อผู้ใช้ แล้วไปที่ส่วนคุณสมบัติที่ด้านซ้ายล่างของหน้าต่าง ตั้งชื่อเป็น UsernameField
ทำเช่นเดียวกันกับข้อความBox การควบคุมถัดจากป้ายกำกับรหัสผ่าน โดยตั้งชื่อว่า PasswordField
ตอนนี้คุณควรสร้างข้อความ PasswordFieldBox ตัวควบคุมจะแสดง * สำหรับแต่ละอักขระที่พิมพ์ลงไป เพิ่มโค้ดต่อไปนี้:
Private Sub PasswordField_TextChanged(sender As Object, e As EventArgs) Handles PasswordField.TextChanged PasswordField.PasswordChar = "*" End Sub
ตอนนี้ให้รันโค้ดโดยคลิกปุ่มเริ่ม แบบฟอร์มจะปรากฏขึ้น
พิมพ์ชื่อผู้ใช้และรหัสผ่านแล้วสังเกตสิ่งที่เกิดขึ้น คุณจะเห็นสิ่งต่อไปนี้:
ชื่อผู้ใช้ปรากฏขึ้นแต่รหัสผ่านถูกซ่อนไว้ นี่คือรหัสสำหรับด้านบน:
คำอธิบายของรหัส:
- การสร้างคลาสชื่อ Form1
- การสร้างขั้นตอนย่อยชื่อ PasswordField_textchanged() มันจะถูกเรียกเมื่อมีการโหลดแบบฟอร์ม
- การใช้คุณสมบัติ PasswordChar เพื่อแสดง * เมื่อผู้ใช้พิมพ์รหัสผ่าน
- สิ้นสุดขั้นตอนย่อย
- จบชั้นเรียน
ขึ้นบรรทัดใหม่ในข้อความBox
โดยค่าเริ่มต้น คุณสามารถสร้างข้อความในกล่องข้อความได้เพียงบรรทัดเดียว มีสองวิธีในการทำเช่นนั้น มาอธิบายกัน
ลากและวางข้อความBox ควบคุมรูปร่างของคุณ ตั้งชื่อให้กับตัวควบคุมว่า GuruWelcome
คลิกที่ตัวควบคุมกล่องข้อความอีกครั้งและเลื่อนเคอร์เซอร์เมาส์ไปที่ส่วนคุณสมบัติ เปลี่ยนค่าของคุณสมบัติหลายบรรทัดเป็น True
หรือคุณสามารถตั้งค่าคุณสมบัติ Multiline ให้เป็นจริงในโค้ดของคุณดังนี้:
GuruWelcome.Multiline = จริง
เพิ่มรหัสต่อไปนี้:
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
เมื่อดำเนินการ ข้อความทั้งสองบรรทัดจะถูกแยกออกจากกัน
คำอธิบายของรหัส:
- การสร้างคลาสชื่อ Form1
- การสร้างรูทีนย่อยชื่อ Form1_Load()
- ตั้งค่าคุณสมบัติหลายบรรทัดเป็น True กล่องข้อความจะใส่ข้อมูลได้มากกว่าหนึ่งบรรทัด
- การเพิ่มบรรทัดข้อความแรกลงในกล่องข้อความ
- การเพิ่มบรรทัดข้อความที่สองลงในกล่องข้อความ คุณสมบัติ Controlchars.NewLine ช่วยให้เราแบ่งบรรทัดทั้งสองออกจากกัน
- สิ้นสุดกิจวัตรย่อย
- จบชั้นเรียน
การดึงค่าจำนวนเต็ม
VB.net ถือว่าทุกอย่างเป็นสตริง ซึ่งหมายความว่าคุณอ่านจำนวนเต็มจากกล่องข้อความเป็นสตริง จากนั้นจึงแปลงเป็นจำนวนเต็ม ซึ่งโดยปกติจะทำโดยใช้ จำนวนเต็ม Parse() วิธี
ในการสาธิต ให้สร้างตัวควบคุมกล่องข้อความใหม่พร้อมปุ่ม ตั้งชื่อกล่องข้อความว่า age ตั้งชื่อปุ่มว่า Button1 คุณควรมีอินเทอร์เฟซต่อไปนี้:
เพิ่มรหัสต่อไปนี้:
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.
คำอธิบายของรหัส:
- การสร้างคลาสชื่อ Form1
- การสร้างขั้นตอนย่อยชื่อ Button1_Click มันจะถูกเรียกเมื่อมีการคลิกปุ่ม
- การกำหนดตัวแปรจำนวนเต็มชื่อ x
- การแปลงค่าที่อ่านจากกล่องข้อความที่ชื่ออายุให้เป็นจำนวนเต็ม
- การแสดงค่าที่แปลงในขั้นตอนข้างต้นในข้อความBox.
- สิ้นสุดขั้นตอนย่อย
- จบชั้นเรียน
ข้อความแบบอ่านอย่างเดียวBox
คุณสามารถทำให้กล่องข้อความเป็นแบบอ่านอย่างเดียวได้ ซึ่งหมายความว่าผู้ใช้จะไม่สามารถแก้ไขค่าที่แสดงในกล่องข้อความได้ เมื่อต้องการทำเช่นนี้ คุณต้องตั้งค่า อ่านเท่านั้น ให้เป็น 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
โค้ดควรส่งคืนสิ่งต่อไปนี้:
นี่คือรหัส:
คำอธิบายของรหัส:
- การสร้างคลาสชื่อ Form1
- การสร้างรูทีนย่อยชื่อ guru99_TextChanged
- การเพิ่มข้อความลงในกล่องข้อความที่ชื่อ guru99
- ตั้งค่าคุณสมบัติ ReadOnly ของกล่องข้อความเป็น True ซึ่งจะทำให้ไม่สามารถแก้ไขข้อความในกล่องข้อความได้
- สิ้นสุดขั้นตอนย่อย
- จบชั้นเรียน
ความยาวสูงสุด
คุณสมบัติ MaxLength ช่วยให้คุณกำหนดจำนวนคำหรืออักขระสูงสุดที่กล่องข้อความจะอนุญาตได้ เพื่อแสดงสิ่งนี้ ให้สร้าง TextBox ควบคุมและตั้งชื่อเป็น fullName เพิ่มโค้ดต่อไปนี้:
Private Sub fullName_TextChanged(sender As Object, e As EventArgs) Handles fullName.TextChanged fullName.MaxLength = 8 End Sub
เรียกใช้โค้ดแล้วลองพิมพ์ชื่อเต็มของคุณ คุณจะไม่สามารถพิมพ์เกิน 8 ตัวอักษร โดยมีช่องว่างรวมอยู่ด้วย:
รหัสสินค้า:
คำอธิบายรหัส:
- การสร้างคลาสชื่อ Form1
- การสร้างขั้นตอนย่อยชื่อ fullName_TextChanged
- การทำให้ช่องข้อความ fullName ยอมรับอักขระได้สูงสุด 8 ตัวเท่านั้น
- สิ้นสุดขั้นตอนย่อย
- จบชั้นเรียน
สรุป
- ข้อความBox การควบคุมช่วยให้คุณป้อนข้อความลงในแบบฟอร์มของคุณระหว่างรันไทม์ เป็นการดีสำหรับการรับข้อมูลจากผู้ใช้
- การตั้งค่าเริ่มต้นคือข้อความBox การควบคุมจะยอมรับข้อความเพียงบรรทัดเดียวเท่านั้น อย่างไรก็ตาม คุณสามารถเปลี่ยนแปลงสิ่งนี้ได้
- คุณสามารถซ่อนสิ่งที่ผู้ใช้พิมพ์ลงในข้อความได้Boxโดยเฉพาะอย่างยิ่งเมื่อคุณต้องการบันทึกรหัสผ่าน
- คุณยังสามารถกำหนดจำนวนอักขระสูงสุดที่คุณต้องป้อนลงในข้อความได้Box.
- คุณสามารถสร้างข้อความของคุณBox ไม่สามารถแก้ไขได้ หมายความว่าผู้ใช้จะไม่สามารถเปลี่ยนแปลงข้อความที่แสดงบนนั้นได้