Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > วิธีการทำให้เทกซ์บ๊อกซ์ Textbox รับค่าได้เฉพาะ ตัวเลข หรือภาษาไทยหรือภาษาอังกฤษใน vb.net ผมมีวิธีแนะนำครับลองเอาไปพิจารณาน่ะครับ



 

วิธีการทำให้เทกซ์บ๊อกซ์ Textbox รับค่าได้เฉพาะ ตัวเลข หรือภาษาไทยหรือภาษาอังกฤษใน vb.net ผมมีวิธีแนะนำครับลองเอาไปพิจารณาน่ะครับ

 



Topic : 071008



โพสกระทู้ ( 106 )
บทความ ( 1 )



สถานะออฟไลน์




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

Code (VB.NET)
Public Class Form1

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Select Case Asc(e.KeyChar)
            Case 48 To 57 ' key โค๊ด ของตัวเลขจะอยู่ระหว่าง48-57ครับ 48คือเลข0 57คือเลข9ตามลำดับ
                e.Handled = False
            Case 8, 13, 46 ' ปุ่ม Backspace = 8,ปุ่ม Enter = 13, ปุ่มDelete = 46
                e.Handled = False

            Case Else
                e.Handled = True
                MessageBox.Show("สามารถกดได้แค่ตัวเลข")
        End Select
  
    End Sub




ต่อกันเลยน่ะครับกับโค๊ดดักภาษาอังกฤษครับ

Code (VB.NET)
   Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
        Select Case Asc(e.KeyChar)
            Case 48 To 122' โค๊ดภาษาอังกฤษ์ตามจริงจะอยู่ที่ 58ถึง122 แต่ที่เอา 48มาเพราะเราต้องการตัวเลข
                e.Handled = False
            Case 8, 13, 46 ' Backspace = 8, Enter = 13, Delete = 46
                e.Handled = False
            Case Else
                e.Handled = True
                MessageBox.Show("กรุณาระบุข้อมูลเป็นภาษาอังกฤษ")
        End Select
    End Sub



ต่อไปเป็นการดักภาษาไทยน่ะครับ

Code (VB.NET)
   Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
        Select Case Asc(e.KeyChar)
            Case 48 To 57 ' ตรงนี้คือโค๊ดตัวเลขน่ะครับเราตัดโค๊ด58-122ออกไปเพราะว่าโค๊ดดังกล่าวมันเป็นภาษาอังกฤษครับ
                e.Handled = False
            Case 8, 13, 46 ' Backspace = 8, Enter = 13, Delete = 46
                e.Handled = False
            Case 161 To 240 ' แล้วมาใส่ตรงนี้เป็นคีย์โค๊ดภาษาไทยรวมทั้งตัวสระ+วรรณยุกต์ด้วยน่ะครับ
            e.Handled = False
            Case Else
                e.Handled = True
                MessageBox.Show("กรุณาระบุข้อมูลเป็นภาษาไทย")
        End Select
    End Sub




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



Tag : .NET, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-12-27 04:34:29 By : worajito View : 43306 Reply : 21
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

น้ำใจงามครับ มีประโยชน์แน่นอนครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-27 05:43:55 By : webmaster
 


 

No. 2

Guest


ขอบคุณมากครับ

ความหมายของ e.Handled คืออะไรอะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-30 22:11:34 By : benz123
 

 

No. 3



โพสกระทู้ ( 106 )
บทความ ( 1 )



สถานะออฟไลน์


e.Handled ก็คือโค๊ดที่เอาไว้ย้อนกลับการทำงานไปสู่สภาวะเริ่มต้น ไม่รู้จะอธิบายอย่างไรดี เรียนมาน้อย แค่ ม.3 555+ ถ้าเอาแบบภาษาชาวบ้านตามที่ผมเข้าใจก็คือการย้อนกลับสถานะหรือเหตุการณ์ของคอนโทรลหรือวัตถุนั้นๆ หากมันเป็นเท็จ คอนโทรล หรือวัตถุนั้นๆ ก็จะทำงานไปตามปกติ แต่ถ้าหากมันเป็นจริงคอนโทรลหรือวัตถุนั้นๆ ก็จะย้อนกลับการเหตุการ์ทำงานของตัวเองไปสู่สภาวะเริ่มต้น(คือไม่มีอะไรเกิดขึ้น) เช่น ในเหตุการณ์ keyprees
ซึ่งในตอนแรกค่าทั้งหมดจะเป็นเท็จ โดยรับค่าจากแป้นคีย์บร์อด ซึ่งถ้าเรากดปุ่มใดมันก็จะรับค่า คีย์ของปุ่มนั้นไปประมวลผล

แต่ถ้าหากมันเป็นจริง
มันจะไม่รับรู้ข้อมูลใดๆ เนื่องจากว่ามันได้ย้อนกลับไปตั้งค่าตัวเลขหรือคีย์โค๊ด หรือ แอสกี้โค๊ดกลับไปเป็น0
(จำภาษาอังกฤษไม่ได้ขออภัยด้วยครับ55+) หวังว่าคงเข้าใจน่ะครับ อธิบายเองยัง งงเองเลย555+


ประวัติการแก้ไข
2011-12-31 21:43:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-31 21:18:54 By : worajito
 


 

No. 4



โพสกระทู้ ( 15 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากครับ มีประโยชน์มากๆเลย q^_^'p
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-04 13:29:29 By : q=_='p
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ตรวจสอบใน Community ให้แล้วครับ

Go to : VB.NET วิธีการทำให้ TextBox รับค่าได้เฉพาะภาษาไทยหรือภาษาอังกฤษหรือตัวเลข สำหรับ VB.NET ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-04 20:45:48 By : webmaster
 


 

No. 6

Guest


แล้วทำแบบผสม การใช้แบบ ตัวเลขกับตัวอักษร ในฟรอมเดี๋ยวกันได้ป่าวอ่ะ เขียนโค้ดให้ดูด้วยน่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-27 00:26:08 By : AAA
 


 

No. 7



โพสกระทู้ ( 106 )
บทความ ( 1 )



สถานะออฟไลน์


โค๊ดที่ผมเอามาลงมันก็ผสมตัวเลขกับตัวอักษรอยู่แล้วนี่ครับ ไม่เห็นต้องเขียนให้ดูใหม่เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-29 01:41:45 By : worajito
 


 

No. 8



โพสกระทู้ ( 13 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุนมากๆๆเลยคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-10 21:41:41 By : TheSkyPy
 


 

No. 9



โพสกระทู้ ( 169 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Blogger

จริงๆ แล้วต้องอ่าน MSDN ครับถึงจะกะจ่าง

http://msdn.microsoft.com/en-us/library/system.windows.forms.keypresseventargs.handled.aspx

ใน MSDN บอกไว้ว่า

If the event is not handled, it will be sent to the operating system for default processing. Set Handled to true to cancel the KeyPress event.

แปลได้ว่า ถ้า method ของเรานั่นไม่ต้องการจะจัดการ KeyPress event หรือต้องการที่จะยกเลิก KeyPress event เราต้อง e.Handled = true เพื่อบอก OS ว่าไม่ต้องทำอะไรแล้วนะ ใน method ของเรานั่นสั่งยกเลิก KeyPress event นั่นแล้ว ในกรณีนี้ก็คือถ้า KeyPress ที่เข้ามาไม่ใช่ตัวเลขเรา return true ซึ่งแปลว่าเราจัดการเรียบร้อยแล้วว่าเราจะไม่ print ตัวอัการนั่นใน TextBox OS เมื่อเห็นว่า e.Handled = true ก็จะรู้ทันทีว่าไม่ต้องทำอะไรเลยเพราะ method ได้จัดการเรียบร้อยแล้ว OS ก็จะไม่ print ตัวอักษรนั่นลงใน TextBox ครับ

แต่ถ้าเรา e.Handled = false นั่นก็คือว่าเราจะให้ OS เเป็นคนจัดการ KeyPress event ด้วยนั่นเองครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-10 23:44:09 By : pStudio
 


 

No. 10



โพสกระทู้ ( 11 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากค่ะ

มีประโยชน์มากๆเลยค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-17 14:06:04 By : BKAJU1987
 


 

No. 11



โพสกระทู้ ( 32 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-17 14:12:35 By : JaNoRn
 


 

No. 12



โพสกระทู้ ( 115 )
บทความ ( 0 )



สถานะออฟไลน์


สุดยอดมากครับ ขอบคุณมากครับ มีประโยชน์จริงๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-04 20:53:27 By : bill17259
 


 

No. 13

Guest


ขอบ คุณ มาก ค่ะ ออก มา แบบ สวย งาม มาก ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-16 17:16:20 By : komokomoman
 


 

No. 14



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


KeyPress คืออะไรค่ะ

พอเอาไปลองใช้งานจากโค้ดที่พี่ได้โพส มันerror ตรงKeyPress
อยากทราบว่าต้องแก้ยังไงค่ะ
ช่วยหน่อยน่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-30 23:27:36 By : keem
 


 

No. 15



โพสกระทู้ ( 168 )
บทความ ( 0 )



สถานะออฟไลน์


....


ประวัติการแก้ไข
2013-01-31 05:03:44
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-31 04:53:28 By : kyokohoho
 


 

No. 16



โพสกระทู้ ( 168 )
บทความ ( 0 )



สถานะออฟไลน์


ผปผด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-31 05:02:28 By : kyokohoho
 


 

No. 17



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณน่ะค่ะ ลืมบอกไปว่าทำในรูปแบบ Web app อ่ะ ค่ะ ต้องโทษด้วยน่ะค่ะ

แล้วถ้าเป็นแบบ Web App ทำยังไงค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-01 02:18:55 By : keem
 


 

No. 18

Guest


asp.net ใช้ onkeypress

Code (ASP)
<asp:TextBox ID="TextBox1" runat="server" onkeypress="OnlyNumericEntry()"> </asp:TextBox>

<script>
function OnlyNumericEntry() {
        if ((event.keyCode < 48 || event.keyCode > 57)) {
        event.returnValue = false;
    }
}
</script>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-01 08:28:15 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 19



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณน่ะค่ะ พี่พอจะมีโค้ด script ที่สามารถพิมได้เฉพาะ ภาษาไทยกับภาษาอังกฤษ ไมค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-01 10:43:17 By : keem
 


 

No. 20



โพสกระทู้ ( 13 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (VB.NET)
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
     Select Case Asc(e.KeyChar)
         Case 48 To 122' โค๊ดภาษาอังกฤษ์ตามจริงจะอยู่ที่ 58ถึง122 แต่ที่เอา 48มาเพราะเราต้องการตัวเลข
             e.Handled = False
         Case 8, 13, 46 ' Backspace = 8, Enter = 13, Delete = 46
             e.Handled = False
         Case Else
             e.Handled = True
             MessageBox.Show("กรุณาระบุข้อมูลเป็นภาษาอังกฤษ")
     End Select
 End Sub




ใช้ Event key press เเล้วยัง Key ภาษาไทยได้อยู่เลยค่ะ รบกวนหน่อยค่ะ

ด

ดด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-14 14:36:45 By : z0926538119
 


 

No. 21



โพสกระทู้ ( 280 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 20 เขียนโดย : z0926538119 เมื่อวันที่ 2017-10-14 14:36:45
รายละเอียดของการตอบ ::
1

2

3

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-15 13:11:56 By : หนึ่ง
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : วิธีการทำให้เทกซ์บ๊อกซ์ Textbox รับค่าได้เฉพาะ ตัวเลข หรือภาษาไทยหรือภาษาอังกฤษใน vb.net ผมมีวิธีแนะนำครับลองเอาไปพิจารณาน่ะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่