กระทู้เก่าบอร์ด อ.Yeadram
1,851 11
URL.หัวข้อ /
URL
ป้องกันการคีย์ในcombobox
ต้องการไม่ให้ผู้ใช้ คลิกคีย์ข้อมูลลงในcombobox ยังไงคะ
จากที่ลองlimit to list มันจะสามารถคีย์ได้ แล้วจะขึ้นแจ้งเตือนไม่ให้เปลี่ยนค่าตอนหลัง
คือต้องการให้กดในรายการไม่ได้เลยค่ะ (ไม่ใช่ปิด Enabled ด้วยนะคะ)
หรือกดแล้วไม่ขึ้นรูปเคอเซอร์อ่ะค่ะ
อาจารย์ช่วยหน่อยนะคะ
จากที่ลองlimit to list มันจะสามารถคีย์ได้ แล้วจะขึ้นแจ้งเตือนไม่ให้เปลี่ยนค่าตอนหลัง
คือต้องการให้กดในรายการไม่ได้เลยค่ะ (ไม่ใช่ปิด Enabled ด้วยนะคะ)
หรือกดแล้วไม่ขึ้นรูปเคอเซอร์อ่ะค่ะ
อาจารย์ช่วยหน่อยนะคะ
11 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R23557
แต่ถ้าไม่ให้ปิด Enabled
Enabled = Yes
Locked = Yes แต่วิธีนี้จะขึ้นรูปเคอเซอร์ครับ
Enabled = Yes
Locked = Yes แต่วิธีนี้จะขึ้นรูปเคอเซอร์ครับ
3 @R23558
วิธีแรกคลิกไม่ได้เลยค่ะ
วิธีที่2ไม่อยากให้ขึ้นเคอเซอ
มีวิธีอื่นไหมคะ
วิธีที่2ไม่อยากให้ขึ้นเคอเซอ
มีวิธีอื่นไหมคะ
4 @R23559
วิธีแรกคลิกไม่ได้เลยค่ะ
วิธีที่2ไม่อยากให้ขึ้นเคอเซอ
ดูเหมือนว่าคุณต้องการให้คลิกได้ แต่ไม่ขึ้นเคอเซอร์ใช่ไหมครับ
ถ้าคลิกได้มันก็จะขึ้นเคอเซอร์อัตโนมัติอยู่แล้ว เพียงแต่ไม่สามารถคีย์ได้ครับ เพราะมันเป็นประเภท Textbox หรือcombobox ครับ
แต่ถ้าต้องการแบบนั้นจริงๆ คงต้องรบกวนให้อ.สันติสุขหรือคุณTTTตอบนะครับ
วิธีที่2ไม่อยากให้ขึ้นเคอเซอ
ดูเหมือนว่าคุณต้องการให้คลิกได้ แต่ไม่ขึ้นเคอเซอร์ใช่ไหมครับ
ถ้าคลิกได้มันก็จะขึ้นเคอเซอร์อัตโนมัติอยู่แล้ว เพียงแต่ไม่สามารถคีย์ได้ครับ เพราะมันเป็นประเภท Textbox หรือcombobox ครับ
แต่ถ้าต้องการแบบนั้นจริงๆ คงต้องรบกวนให้อ.สันติสุขหรือคุณTTTตอบนะครับ
5 @R23561
ใช่ค่ะ ต้องการแบบ เหมือนกับcomboboxในกล่องReply ในหน้าเวปนี้อ่ะค่ะ
อาจารย์ช่วยหน่อยนะคะ
อาจารย์ช่วยหน่อยนะคะ
6 @R23562
ดูเหมือนว่าความต้องการจะคือ Listbox นะ ไม่ใช่ ComboBox
7 @R23563
ลองListboxแล้วคิดว่าไม่ใช่ค่ะ เพราะต้องการให้กดเลือกแล้วแสดงรายการ
แต่Listbox จะแสดงรายการทั้งหมด โดยคลิกเลือกขึ้นลง
ตอนนี้เลยอยากทราบว่าที่ต้องการcomboboxดังกล่าวด้านบน สามารถทำได้หรือไม่คะ
ขอบคุณค่ะ
แต่Listbox จะแสดงรายการทั้งหมด โดยคลิกเลือกขึ้นลง
ตอนนี้เลยอยากทราบว่าที่ต้องการcomboboxดังกล่าวด้านบน สามารถทำได้หรือไม่คะ
ขอบคุณค่ะ
8 @R23564
คุณก็ไปปรับแต่ง Height property เอาเองเลยครับ พอเข้า On Enter event procedure ก็สั่ง Me.ชื่อลิสท์บ็อกซ์.Height = ค่า โดยที่ค่านี้อาจเป็น Height property ของเท็กบ็อกซ์ตัวอื่นคูณด้วยกี่เท่าก็ว่าไป พอตอน On Exit event procedure ก็สั่งให้ความสูงกลับมาเท่าเดิม
9 @R23565
ผมว่าแบบที่อ.สันติสุขบอกมา ทำแล้วไม่เหมือนที่คุณ11001ต้องการครับ แต่ความต้องการของเขาคือเป็นกล่องCombobox ใช้เฉพาะเลือกรายการอย่างเดียว ห้ามพิมพ์ครับ เหมือนเวลาเราเลือกแบบตัวอักษรในกล่องReplyนี้ครับ ผมลองมาหลายวิธีแล้วไม่ได้ผลเลยครับ ถ้าเราสั่งNoหรือFalse มันจะคลิกเลือกรายการไม่ได้เลย พอจะมีวิธีไหนบ้างครับ
10 @R23566
ไม่ก็...
1) ใช้ Label แทน Text Portion ของ Combobox
2) ใช้ Label อีกตัวใส่อักษรรูปลูกศรลง แทนรูปลูกศรลงใน Combobox
3) ใช้ Listbox แทน Combobox
แล้วก็ควบคุมเอาเอง พอกดลูกศรลง ก็ขยายความสูงของ Listbox พอเลือกค่าใน Listbox ก็เอาค่าไปใส่ใน Caption ของ Label
Cost of Effort คุ้มไหมเนี่ย
1) ใช้ Label แทน Text Portion ของ Combobox
2) ใช้ Label อีกตัวใส่อักษรรูปลูกศรลง แทนรูปลูกศรลงใน Combobox
3) ใช้ Listbox แทน Combobox
แล้วก็ควบคุมเอาเอง พอกดลูกศรลง ก็ขยายความสูงของ Listbox พอเลือกค่าใน Listbox ก็เอาค่าไปใส่ใน Caption ของ Label
Cost of Effort คุ้มไหมเนี่ย

11 @R23568
ถ้าหมายถึงกันไม่ให้คีย์เองใน Combobox เท่านั้นก็ใส่โค้ดลงใน Combobox ที่ Event > On Key Down
If KeyCode = 9 Then ' 9 คือ สามารถคีย์ Tab เปลี่ยนคอนโทรลได้
Else
KeyCode = 0
End If
ทำแล้วจะกันได้ทั้งการ Paste ด้วยปุ่ม Ctrl + v แต่จะกันในเรื่องการคลิ๊กเมาส์ขวาเลือก Paste ไม่ได้ ถ้าจะกันด้วยให้สร้าง Shortcut menu แบบว่างๆ ไม่ต้องมีเมนูอะไร แล้วใส่ใน Property ของ combobox ที่ Other > Shortcut Menu Bar ก็น่าจะกันได้ครบครับ
ส่วนเรื่อง Cursor จำเป็นขนาดต้องไม่มี ? ถ้าจำเป็นขนาดนั้นต้องทำอีกเยอะเหมือนกันนะครับ คือต้องใช้ API ซ่อน Cursor ในเหตุการณ์ต่างๆอีก...
If KeyCode = 9 Then ' 9 คือ สามารถคีย์ Tab เปลี่ยนคอนโทรลได้
Else
KeyCode = 0
End If
ทำแล้วจะกันได้ทั้งการ Paste ด้วยปุ่ม Ctrl + v แต่จะกันในเรื่องการคลิ๊กเมาส์ขวาเลือก Paste ไม่ได้ ถ้าจะกันด้วยให้สร้าง Shortcut menu แบบว่างๆ ไม่ต้องมีเมนูอะไร แล้วใส่ใน Property ของ combobox ที่ Other > Shortcut Menu Bar ก็น่าจะกันได้ครบครับ
ส่วนเรื่อง Cursor จำเป็นขนาดต้องไม่มี ? ถ้าจำเป็นขนาดนั้นต้องทำอีกเยอะเหมือนกันนะครับ คือต้องใช้ API ซ่อน Cursor ในเหตุการณ์ต่างๆอีก...
Time: 0.3579s
Enabled = No
Locked = Yes