คลิกปุ่มเพื่อดำเนินการ
วิธีที่ง่ายที่สุดสำหรับผู้ใช้ในการโต้ตอบกับแอปพลิเคชันของคุณคือการมอบปุ่มให้พวกเขา คุณสามารถใช้ตัวควบคุม CommandButton ที่ได้รับจาก Visual Basic หรือใช้ตัวควบคุมรูปภาพที่มีกราฟิก เช่น ไอคอน เพื่อสร้าง "ปุ่ม" ของคุณเอง
การใช้ CommandButton
แอปพลิเคชัน Visual Basic ส่วนใหญ่มี CommandButtons ที่อนุญาตให้ผู้ใช้ดำเนินการได้โดยการแตะปุ่ม เมื่อผู้ใช้เลือกปุ่ม ไม่เพียงแต่การกระทำจะเกิดขึ้นเท่านั้น แต่ดูเหมือนว่าปุ่มจะถูกกดและปล่อยแล้ว เมื่อใดก็ตามที่ผู้ใช้คลิกปุ่ม กระบวนการคลิกเหตุการณ์จะถูกเรียก เขียนโค้ดลงในขั้นตอนเหตุการณ์คลิกเพื่อดำเนินการตามที่ต้องการ
มีหลายวิธีในการเลือก CommandButton ในขณะที่โปรแกรมกำลังทำงาน:
คลิกปุ่มด้วยเมาส์
กดแป้น TAB เพื่อย้ายโฟกัสไปยังปุ่มที่เกี่ยวข้อง จากนั้นกดปุ่ม SPACE หรือแป้น ENTER เพื่อเลือกปุ่ม ดู "ภาพรวมโฟกัส" ในบทนี้ต่อไป
กดปุ่มลัด CommandButton (อักขระที่ขีดเส้นใต้ ALT)
ตั้งค่าคุณสมบัติค่าของ CommandButton เป็น True ในโค้ด cmdClose.Value=จริง
เรียกเหตุการณ์การคลิกของ CommandButton ในโค้ด cmdClose_คลิก
ถ้า CommandButton เป็นปุ่มคำสั่งเริ่มต้นของฟอร์ม แม้ว่าโฟกัสจะถูกย้ายไปยังตัวควบคุมอื่นที่ไม่ใช่ CommandButton การกดปุ่ม Enter จะเป็นการเลือกปุ่ม ในขณะออกแบบ ให้ระบุปุ่มเป็น CommandButton เริ่มต้นของฟอร์มโดยการตั้งค่าคุณสมบัติ Default เป็น True
ถ้า CommandButton เป็นปุ่มยกเลิกเริ่มต้นของฟอร์ม แม้ว่าโฟกัสจะถูกย้ายไปยังตัวควบคุมอื่น ก็สามารถเลือกปุ่มได้โดยการกดปุ่ม ESC ในขณะออกแบบ ให้ระบุปุ่มเป็นปุ่มยกเลิกเริ่มต้นโดยตั้งค่าคุณสมบัติ ยกเลิก เป็น True การดำเนินการทั้งหมดเหล่านี้ทำให้ Visual Basic เรียกขั้นตอนเหตุการณ์คลิก
แอปพลิเคชั่น "ปุ่มทดสอบ"
ใช้แอตทริบิวต์คำอธิบายภาพเพื่อแสดงข้อความบนปุ่มเพื่อบอกผู้ใช้ว่าปุ่มนั้นทำอะไร ในรูปที่ 3.4 ตัวอย่างปุ่มทดสอบในแอปพลิเคชันตัวอย่างการควบคุมประกอบด้วย CommandButton ที่มีคุณสมบัติคำอธิบายภาพของ ChangeSignal (ตัวอย่างนี้ใช้ได้กับ Buttons.frm ในแอปพลิเคชันตัวอย่าง Controls.vbp)
โปรดทราบว่า S คือปุ่มลัดสำหรับปุ่มนี้ ซึ่งแสดงด้วยการขีดเส้นใต้ การแทรกสัญลักษณ์ (&) ลงในข้อความของแอตทริบิวต์คำบรรยายจะทำให้อักขระที่อยู่หลังสัญลักษณ์นี้เป็นปุ่มลัดสำหรับปุ่ม (เช่น Change&Signal)
เมื่อผู้ใช้คลิกปุ่ม CommandButton รหัสในกระบวนการเหตุการณ์คลิกของ CommandButton จะถูกดำเนินการ ในตัวอย่างนี้ ทุกครั้งที่คลิกปุ่ม ปุ่มจะเปลี่ยนเป็นไอคอนสัญญาณไฟจราจรอื่น
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติของ CommandButton ดูบทที่ 7 "การใช้ตัวควบคุมมาตรฐานของ Visual Basic"
ส่วนควบคุมสำหรับการแสดงและการป้อนข้อความ
ตัวควบคุมป้ายกำกับและกล่องข้อความใช้เพื่อแสดงและป้อนข้อความ ใช้ป้ายกำกับเมื่อแอปพลิเคชันแสดงข้อความในแบบฟอร์ม และใช้กล่องข้อความเมื่ออนุญาตให้ผู้ใช้ป้อนข้อความ ข้อความในป้ายกำกับเป็นข้อความแบบอ่านอย่างเดียว ในขณะที่ข้อความในกล่องข้อความเป็นข้อความที่แก้ไขได้
ข้อความที่ผู้ใช้สามารถแก้ไขได้ เช่น กล่องข้อความรายการตามลำดับ
ช่องหรือกล่องรหัสผ่าน
ข้อความที่สามารถแสดงได้เท่านั้น เช่น การระบุ Label ในแบบฟอร์ม
ช่องหรือแสดงคำแนะนำแก่ผู้ใช้
ป้ายกำกับและกล่องข้อความจะกล่าวถึงในส่วนต่อไปนี้:
แสดงข้อความด้วย Labels (vbconUsingLabels) ความรู้พื้นฐานเกี่ยวกับการใช้การควบคุม Label
พื้นฐานของการทำงานกับกล่องข้อความโดยใช้กล่องข้อความ (vbconWorkingWithTextBox)
แสดงข้อความพร้อมป้ายกำกับ
ข้อความที่แสดงโดยตัวควบคุมป้ายกำกับไม่สามารถแก้ไขได้โดยตรงโดยผู้ใช้ การควบคุม เช่น กล่องข้อความ และ ScrollBar ที่ไม่มีคุณสมบัติคำอธิบายภาพของตัวเองสามารถระบุได้ด้วย Label ข้อความที่แสดงจริงใน Label ถูกควบคุมโดยคุณสมบัติ Caption ซึ่งสามารถตั้งค่าในหน้าต่าง "Properties" ในขณะออกแบบหรือกำหนดด้วยโค้ดขณะรันไทม์
ตามค่าเริ่มต้น ชื่อเรื่องเป็นเพียงส่วนที่มองเห็นได้ของตัวควบคุมป้ายกำกับเท่านั้น อย่างไรก็ตาม หากคุณตั้งค่าคุณสมบัติ BorderStyle เป็น 1 (ซึ่งสามารถทำได้ในขณะออกแบบ) ป้ายชื่อก็จะมีเส้นขอบและดูเหมือนกล่องข้อความ คุณยังสามารถเปลี่ยนรูปลักษณ์ของป้ายกำกับได้ด้วยการตั้งค่าคุณสมบัติ BackColor, BackStyle, ForeColor และ Font ของป้ายกำกับ
เปลี่ยนขนาดฉลากให้พอดีกับเนื้อหา
คุณสามารถระบุชื่อของป้ายกำกับบรรทัดเดียวได้ในหน้าต่าง "คุณสมบัติ" ในระหว่างการออกแบบ แต่ถ้าคุณต้องการป้อนชื่อที่ยาวขึ้นหรือชื่อที่อาจเปลี่ยนแปลงขณะรันไทม์ ป้ายมีคุณสมบัติสองประการ: ขนาดอัตโนมัติ และ WordWrap เพื่อช่วยคุณเปลี่ยนขนาดของตัวควบคุมให้พอดีกับชื่อที่ยาวหรือสั้นลง
คุณสมบัติ AutoSize กำหนดว่าตัวควบคุมจะเปลี่ยนขนาดให้พอดีกับเนื้อหาโดยอัตโนมัติหรือไม่ หากคุณสมบัตินี้ถูกตั้งค่าเป็น True ป้ายจะเปลี่ยนตามแนวนอนตามเนื้อหา ดังแสดงในรูปที่ 3.5
คุณสมบัติ WordWrap ทำให้ Label เปลี่ยนในแนวตั้งตามเนื้อหาในขณะที่ยังคงความกว้างไม่เปลี่ยนแปลง ดังแสดงในรูปที่ 3.6 สำหรับตัวอย่างเวอร์ชันที่ใช้งานได้ โปรดดูที่ WordWrap.frm ในตัวอย่างแอปพลิเคชัน Controls.vbp
โปรดทราบว่า หากคุณเรียกใช้ตัวอย่าง AutoSize ใน Controls.vbp คุณจะพบว่าต้องเลือกช่องทำเครื่องหมายทั้งสองช่องจึงจะสามารถใช้ WordWrap พร้อมกันได้ เนื่องจากเพื่อให้คุณสมบัติ WordWrap ของ Label ทำงานได้ คุณต้องตั้งค่า AutoSize เป็น True ความกว้างของป้ายกำกับจะเพิ่มขึ้นก็ต่อเมื่อความกว้างของคำเดียวเกินความกว้างปัจจุบันของตัวควบคุม
สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติการควบคุมป้ายกำกับ โปรดดูบทที่ 7 "การใช้การควบคุมมาตรฐานของ Visual Basic"
การใช้กล่องข้อความ
กล่องข้อความเป็นตัวควบคุมวัตถุประสงค์ทั่วไปที่สามารถป้อนข้อความโดยผู้ใช้หรือข้อความที่แสดง ยกเว้นในกรณีที่คุณสมบัติ Locked ของกล่องข้อความถูกตั้งค่าเป็น True คุณจะไม่สามารถใช้กล่องข้อความเพื่อแสดงข้อความที่คุณไม่ต้องการให้ผู้ใช้เปลี่ยนแปลงได้
ข้อความจริงที่แสดงในกล่องข้อความจะถูกควบคุมโดยคุณสมบัติข้อความ คุณสมบัติข้อความสามารถตั้งค่าได้สามวิธี: ในหน้าต่างคุณสมบัติ ณ เวลาออกแบบ ผ่านโค้ด ณ รันไทม์ หรือโดยการป้อนข้อมูลของผู้ใช้ ณ รันไทม์ เนื้อหาปัจจุบันของกล่องข้อความสามารถดึงข้อมูลได้ที่รันไทม์โดยการอ่านคุณสมบัติข้อความ
กล่องข้อความหลายบรรทัดและ WordWrap
กล่องข้อความจะแสดงข้อความเพียงบรรทัดเดียวตามค่าเริ่มต้น และไม่แสดงแถบเลื่อน หากข้อความยาวเกินพื้นที่ว่าง ข้อความจะแสดงเพียงบางส่วนเท่านั้น ด้วยการตั้งค่าคุณสมบัติ MultiLine และ ScrollBars (ซึ่งสามารถตั้งค่าได้เมื่อออกแบบโปรแกรมเท่านั้น) คุณสามารถเปลี่ยนรูปลักษณ์และการทำงานของกล่องข้อความได้
ระวัง อย่าให้คุณสมบัติ ScrollBars สับสนกับตัวควบคุม ScrollBar ไม่ได้อยู่ในกล่องข้อความและมีชุดคุณสมบัติของตัวเอง
การตั้งค่าคุณสมบัติ MultiLine เป็น True ช่วยให้กล่องข้อความยอมรับหรือแสดงข้อความหลายบรรทัดในขณะรันไทม์ ตราบใดที่ไม่มีแถบเลื่อนแนวนอน ข้อความในกล่องข้อความหลายบรรทัดจะตัดตามคำนั้นโดยอัตโนมัติ ค่าเริ่มต้นของคุณสมบัติ ScrollBars ถูกตั้งค่าเป็น 0 (ไม่มี) การตัดคำอัตโนมัติช่วยให้ผู้ใช้ไม่ต้องยุ่งยากในการขึ้นบรรทัดใหม่ที่ท้ายบรรทัด เมื่อบรรทัดข้อความเกินความยาวที่แสดง กล่องข้อความจะพับข้อความไปยังบรรทัดถัดไปเพื่อแสดงโดยอัตโนมัติ
ในขณะออกแบบ ไม่สามารถป้อนตัวแบ่งบรรทัดในหน้าต่างคุณสมบัติได้ ในระหว่างกระบวนการ สามารถสร้างจุดพักบรรทัดได้โดยการแทรกการขึ้นบรรทัดใหม่ตามด้วยอักขระขึ้นบรรทัดใหม่ (อักขระ ANSI 13 และ 0) คุณยังสามารถใช้ค่าคงที่ vbCrLf เพื่อแทรกการขึ้นบรรทัดใหม่และการป้อนบรรทัดรวมกัน ตัวอย่างเช่น ขั้นตอนเหตุการณ์ต่อไปนี้เป็นตัวอย่างของการวางข้อความสองบรรทัดลงในกล่องข้อความหลายบรรทัด (Text1) เมื่อมีการโหลดแบบฟอร์ม
SubForm_Load()
Text1.Text=นี่คือสองบรรทัด_
&vbCrLf&inatextbox
สิ้นสุดย่อย
การใช้ข้อความจากกล่องข้อความ
การใช้คุณสมบัติ SelStart, SelLength และ SelText ของกล่องข้อความ คุณสามารถควบคุมจุดแทรกและพฤติกรรมการเลือกของกล่องข้อความได้ คุณสมบัติเหล่านี้ใช้ได้เฉพาะตอนรันไทม์เท่านั้น
เมื่อกล่องข้อความได้รับโฟกัสเป็นครั้งแรก จุดแทรกเริ่มต้นของกล่องข้อความและตำแหน่งเคอร์เซอร์จะอยู่ที่ด้านซ้ายสุดของข้อความ ผู้ใช้สามารถเคลื่อนย้ายด้วยแป้นพิมพ์และเมาส์ เมื่อกล่องข้อความสูญเสียโฟกัสแล้วกลับมาโฟกัสอีกครั้ง ตำแหน่งจุดแทรกจะเหมือนกับตำแหน่งสุดท้ายที่ผู้ใช้กำหนด
ในบางกรณีอาจไม่สอดคล้องกับการตั้งค่าของผู้ใช้ ตัวอย่างเช่น: ในแอปพลิเคชันประมวลผลคำ ผู้ใช้ต้องการให้อักขระใหม่ปรากฏหลังข้อความที่มีอยู่ ในแอปพลิเคชันป้อนข้อมูล ผู้ใช้จะต้องการอินพุตแทนที่รายการดั้งเดิม การใช้คุณสมบัติ SelStart และ SelLength ผู้ใช้สามารถเปลี่ยนลักษณะการทำงานของกล่องข้อความได้ตามต้องการ
คุณสมบัติ SelStart คือตัวเลขที่ระบุจุดแทรกภายในสตริงข้อความ โดยที่ 0 แสดงถึงตำแหน่งซ้ายสุด หากค่าคุณสมบัติ SelStart มากกว่าหรือเท่ากับจำนวนอักขระในข้อความ จุดแทรกจะถูกวางไว้หลังอักขระตัวสุดท้าย ดังแสดงในรูปที่ 3.7 สำหรับตัวอย่างเวอร์ชันที่ใช้งานได้ โปรดดูที่ Text.frm ในตัวอย่างแอปพลิเคชัน Controls.vbp คุณสมบัติ SelLength คือค่าที่กำหนดความกว้างของจุดแทรก การตั้งค่า SelLength ให้เป็นค่าที่มากกว่า 0 จะเลือกและไฮไลต์อักขระ SelLength ที่เริ่มต้นจากจุดแทรกปัจจุบัน รูปที่ 3.8 แสดงประสิทธิภาพของการเลือก
หากเลือกส่วนของข้อความ ข้อความที่ผู้ใช้พิมพ์จะแทนที่ข้อความที่เลือก ในบางกรณี คุณยังสามารถใช้คำสั่งวางเพื่อแทนที่ข้อความต้นฉบับด้วยข้อความใหม่ได้ คุณสมบัติ SelText คือสตริงข้อความที่สามารถกำหนดค่าขณะรันไทม์เพื่อแทนที่ข้อความที่เลือกในปัจจุบัน หากไม่มีข้อความที่เลือก SelText จะแทรกข้อความที่จุดแทรกปัจจุบัน
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติของตัวควบคุมกล่องข้อความ ดูบทที่ 7 "การใช้ตัวควบคุมมาตรฐานของ Visual Basic"
สำหรับข้อมูลเพิ่มเติม เกี่ยวกับคุณสมบัติของตัวควบคุมกล่องข้อความ ดูบทที่ 7 "การใช้ตัวควบคุมมาตรฐานของ Visual Basic"
-