الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

منع المستخدم من الادخال

بدأه undertaker_2 في 14 أغسطس 2010 · 11 رد · 1,366 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي برنامج استعمل فيه جهاز الباركود

ولكنني اريد منع المستخدم من ادخال في textbox

اي يتم الادخال فقط عن الباركود

#2

السلام عليكم ورحمة الله

فقط اكتب الكود التالي في حدث Keypress لمربع النص الذي تريد منع الادخال فيه

e.Handled = True

بالتوفيق ...

مختار أحمد

موقع الويب : http://www.luxorsystems.com

منتدياتنا :http://www.luxorsystems.com/forum/index.php

للمراسلة

luxorsystems@hotmail.com

للاتصال التليفوني

00201228085123

#3

من خصائص العنصر textbox، اجعله enabled = false.

أو تستطيع إضافة خاصية ReadOnly في وضع التنفيذ.

مثال من C#.NET:

    protected void Page_Load(object sender, EventArgs e)
    {

      Text_Box_Name.Attributes.Add("Readonly", "Readonly");

    }

تم تعديل هذه المشاركة بواسطة Xacker في 15 أغسطس 2010 في 00:58

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

X ,, انت بتجيب الكلام ده منين :ohmy:

واضح انك من شدة الفرحة بسبب الموضوع إياه مش مركز

الكود ده ينفع فى الـASP.NET يعنى ويب مش ويندوز

هنا تكتب دايركت :D

Text_Box_Name.ReadOnly = True

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#5
GHOST2010 كتب:

واضح انك من شدة الفرحة بسبب الموضوع إياه مش مركز

ههههه تقصد من قلّة النوم أما الموضوع إياه فيخليني مش مركّز لما أضرب ايدي على جيبي مالاقيش معايا فلوس :lol:

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#6

شكرا لكم يااخواني

ولكني لو جعلت e.handle = true

فأن جهاز الباركود لن يستطيع الكتابة في ال textbox

كذلك في الخاصية read only or enable لا تنفع

اعتقد الحل الوحيد هو ايجاد دالة عن طريقه يتم معرفة keypress جاءت من لوحة المفاتيح او من جهاز باركود

#7

وهل ينفذ جهاز الباركود الحدث KeyPress ?

حقيقة لم أنتبه لهذا من قبل ,, يرجى التأكد من هذه المعلومة :unsure:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#8

للأسف جهاز الباركود يعامل معاملة لوحة المفاتيح يعني لوضغطة على الرقم 23697781 في لوحة فأن الباركود يقوم بنفس المهمة اي يستعمل الحدث keypress وهذه المعلومة انا متأكد منها لأني مجربها

#9

يا شباب انا دوخت على الموضوع ده فى المندى هنا لكن للاسف ... مفيش حل نفع معايه ...

بس طبعا كلنا عارفين ان المصرى معروف بجبروته  هههههه

بحيله بسيطه كده قدرت اتغلب والحمد لله على المشكله .
وقولت طبعا لازم افيد احبابى فى المنتدى لانى بجد استفد كتيييييييير جدا من المنتدى هنا فى شغلى .

الفكره ان انا عامل برنامج عندى فى الشركه لاستخراج فواتير وفى نفس الوقت اعدام الفواتير الغير مسدد منها .... وكان لازم فى شاشة الاعدام مخليش المستخدم يقدر يدخل رقم الفاتوره يدوى لانه ممكن يعدم الفاتتوره وهى مش موجوده بالفعل معاه فا كان لازم وضورورى جدا نلاقى حل يمنع الادخال اليدوى .....

وزى ما بيقولو الحاجه ام الاختراع ..
والحل بسيط جدا ..


الفكره انى بعمل تيمر وبحط فى حدث keyprees  للتكست الى عاوز امنع الادخال اليدوى فيه كود يشغل التيمر فى حالة الكتابه داخل التكست ..
وعند تشغيل التيمر ... التيمر يحتوى على دالة len لحساب عدد الاحرف داخل التكست بسرعه كبيره تكون اقل من نص سانيه 
والكود ده يقول ان لو عدد الارقام او الاحرف اقل مثلا من 3 ارقام يصفر التكست من اى نص فيه ..
وبكده المستخدم مش حيقدر يسبق التايمر .
ولكن فى حالة الادخال بالباركود فا العمليه بتم فى اقل من الثانيه وبكده الكود الى داخل التايمر الى بيعد الارقام والحروف الى فى التكست حيجد ان عدد الحروف او الارقام فى التيكست اكبر من 3 او 4 ازى ما احدد انا فى الكود

وبكده يبقى نجحنا فى منع المستخدم من ادخال الكود بلوحة المفاتيح ..
يارب اكون نجحت فى توصل المعلومه 

وده الكود الى فى التيمر



dim x

 ( x=len( text1.text

if x<3 then

""=text1,text

end if

 

timer1.enable=false

 

وده الكود الى حنحطه فى التيكست علشان نشغل التيمر فى حالة محاولة الادخال فى حدث keypres

timer1.enable,tru

 

واتمنا اكون وصلت الفكره

سلام وعليكم

#10

خطة جيدة

بس لو استخدم اليوزر  النسخ و اللصق

#11

باسناد القيمه false  للخاصيه shortcutenable  للتكست بوكس لمنع اظهار القائمة بالنقر بالماوس

فى الحدث  KeyDown يمكن معرفه اذا تم الضغط على اى من ازرار التحكم CTRL  ومنعه

CTRL+V

 Private Sub TextBox2_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox2.KeyDown
        If e.Modifiers = Keys.Control Then

            e.Handled = True
            TextBox2.Text = ""


        End If
    End Sub

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#12

textbox1.locked=true

textbox1.enable=false

مواضيع مشابهة