تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] تكست بوكس خاص ؟
#1
بسم الله الرحمن الرحيم
السلام عليكم ورخمة الله وبركاته

تكست بوكس خاص............

بالبرنامج الذي اعمل عليه، سوف يكون هناك عشرات الشاشات، وبالتالي عشرات التكست بوكس، وكلها متشابهة فيما بينها

1- عندما يتم التركيز على التكست بوكس اعمل على مايلي
أ- اغير لون خلفية التكست بوكس الى لون مغاير
ب- اكبر الخط
ج - اغمق الخط
د - انادي للتابع الدي يجعل الادخال على اللغة العربية ( اي ان الكتابة سوف تكون بالعربي)


كود :
Private Sub txt_Beda_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_Beda.GotFocus
        set_arabic()
        Me.txt_Beda.Font = New Font(Me.txt_Shra.Font.Name, 14, FontStyle.Bold)
        txt_Beda.BackColor = System.Drawing.ColorTranslator.FromHtml(My_back_Color_tbox)
    End Sub

م - وادا كان التكست بوكس سوف يتم استقبال ارقام فيه
فهنا امنع كتاية اي شي سوى الارقام
اضافة الى تنسيق الرقم

كود :
Private Sub txt_Shra_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_Shra.KeyPress
        If (e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back AndAlso e.KeyChar <> ControlChars.Cr AndAlso e.KeyChar <> "." Then
            Beep()
            e.Handled = True
        End If
    End Sub

وعند فقدان التركيز على التكست بوكس
1- اقوم بارجاع الخط الى ماكان عليه
2- ارجاع الخلفية الى اللون الابيض

كود :
Private Sub txt_Beda_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_Beda.LostFocus
        txt_Beda.BackColor = Color.White
        Me.txt_Beda.Font = New Font(Me.txt_Beda.Font.Name, 11, FontStyle.Regular)
    End Sub

لاحظت نفسي انني اقوم بتكرار تلك الاسطر، مثل البغبغاء في كل شاشة من شاشات البرنامج.....علما ان الامور شغالة بسلام

سؤالي :
هل توجد طريقة اطبقها على تكست بوكس واحد، واضع له كل مادكرت

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

يعني بدي تكست بوكس زكي، يفهم هلي انا عايزه.........وفق مادكرت اعلاه
لتجنب مئات الاسطر المتشابهة بالبرنامج

والف شكر


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#2
الحل اخى
ان تقوم بفتح مشروع جديد فى الفيجوال و تعمل على اضافة اداه جديد و هى تكست بوكس و تقوم باضافة التعديلات الخاصه بيك و بعد كده تخد الاداه و تقوم بوضعها ادخل صندوق الادوات
بس كده
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة: kafi2030
#3
السلام عليكم ورحمة الله وبركاته

تفضل أخي الكريم

تم تصميم أداة لعمل المطلوب


الملفات المرفقة صورة/صور
   

.zip   AdvTextBox.zip (الحجم : 72.14 ك ب / التحميلات : 472)
الرد }}}
#4
شكرا اخي
alims

شكرا اخي
Sooriaty

بصراحة جربت مثال الاخ sooriaty
ولاحظت وجود الاداة ضمن صندوق الادوات، والمثال يعمل

حاولت تتبع ما تفضل به الاخ alims
فقمت بفتح مشروع جديد ووضعت به اداة التكست بوكس، ووضعت لها كافة الكودات التي استعلمها عادة

حاولت سحبها باتجاه صندوق الادوات الا انها لم تسحب

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


والف الف شكر


الملفات المرفقة صورة/صور
       

.zip   WindowsApplication1.zip (الحجم : 75.54 ك ب / التحميلات : 213)
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم ورحمة الله وبركاته

أخي الكريم ما قصده الأخ alims
هو بالضبط ما قمت أنا به...

فالمثال الذي صصمته لك
هو عبارة عن أداة TextBox تم التعديل عليها وإضافة بعض الخصائص إليها لتتوافق ومتطلبات برنامجك
كل ما عليك هو أن تقوم بنسخ الكود من السطر:
Public Class AdvancedTextBox

وحتى السطر:
End Class

وبعد ذلك تقوم بلصقه في مشروعك إما في صفحة فارغة وذلك بإضافة ملف Class
أو تلصقه في أي صفحة بعد السطر End Class الموجود في تلك الصفحة

الآن قم بالضغط على F5 وارجع إلى أدوات الفورم ستلاحظ ظهور الأداة الجديدة استبدل بها الأدوات السابقة

بالتوفيق
الرد }}}
تم الشكر بواسطة: alims , الشاكي لله
#6
شكرا اخي sooriaty
على تواصلك معي


بارك الله فيك

وارجو ان يكون لديك رحابة صدر ومزيد من الوقت، لمزيد من الاسئلة حول الموضوع

1- تم نسخ الكود الى كلاس جديد، والضغط على F5 , وفعلا اصبحت الاداة ضمن صندوق الادوات، وتم سحبها وهي تعمل

ان الدي تفضلت به حضرتك قريب الى حد كبير مما اردت، ولكني ارغب بشدة بتعلم ان اقوم انا بالتصميم
ففي المثال الدي قمت بارفاقه في المشاركة السابقة، يحتوي على اداة التكست بوكس والاكواد المتعلقة باحدات التركيز وفقدان التركيز وهي
كود :
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
        set_arabic()
        Me.TextBox1.Font = New Font(Me.TextBox1.Font.Name, 14, FontStyle.Bold)
        TextBox1.BackColor = System.Drawing.ColorTranslator.FromHtml(My_back_Color_tbox)
        TextBoxMargin(TextBox1, 0, 5)
    End Sub
كود :
Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
        TextBox1.BackColor = Color.White
        Me.TextBox1.Font = New Font(Me.TextBox1.Font.Name, 11)
        TextBoxMargin(TextBox1, 0, 5)
    End Sub

فكما تلاحظ اخي الكريم، انه في حال التركيز على التكست بوكس، يكون اللون وفق ماهو مخزن بالمتحول العام ( متحول يسند اليه قيمة اللون الست عشرية عند فتح البرنامج، وتتم قراءته من قاعدة البيانات)

قمت بانشاء كلاس جديد، ونسخت كل الاكواد المذكورة الى صفحة الكلاس من اجل ان احصل على اداة من تصميمي، الا انه على ما يبدو ان الموضوع قد فشل معي

ارجو تصويب كيفية تحويل الاكواد التي كتبتها انا والموجودة بالمثال المرفق الى اداة خاصة بي
بصراحة انا بصدد ان اصمم اداتين للتكست بوكس، واحدة تقبل ارقام فقط، والاخرى تقبل كل شي
والف الف شكر


الملفات المرفقة صورة/صور
                   
الرد }}}
تم الشكر بواسطة:
#7
السلام عليكم

الف الف الف الف شكر
اخي sooriaty
على الكود الرائع الدي تفضلت به

بعد تمعن عميق ومحاولات عديدة،
استطعت والحمد لله ان اكيف الاكواد المتعلقة بالاداة advanced_textbox مع متطلبات برنامجي، من حيث وجود متغيرات عامة تحمل قيم معينة واسناد تلك القيم الى التكست بوكس ادفانس
كما استطعت والحمد لله ان اعرف كيف احصل على advanaced_textbox رقمية

وكل شئ روعة في روعة

ولكن لفت نظري، اننا مازلت بحاجة الى خاصية اخرى، بحيث انني احيانا اضطر الى ان يكون التكست بوكس جهته من اليسار والكتابة انكليزية

ارجو تعديل اكواد، فانا بانتظارها كي اشرع في استخدامها في برنامجي والتخلص من مئات الاسطر


بارك الله فيك
وجزاك الله عني كل خير


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#8
(21-10-13, 12:05 AM)kafi2030 كتب : السلام عليكم

الف الف الف الف شكر
اخي sooriaty
على الكود الرائع الدي تفضلت به

بعد تمعن عميق ومحاولات عديدة،
استطعت والحمد لله ان اكيف الاكواد المتعلقة بالاداة advanced_textbox مع متطلبات برنامجي، من حيث وجود متغيرات عامة تحمل قيم معينة واسناد تلك القيم الى التكست بوكس ادفانس
كما استطعت والحمد لله ان اعرف كيف احصل على advanaced_textbox رقمية

وكل شئ روعة في روعة

ولكن لفت نظري، اننا مازلت بحاجة الى خاصية اخرى، بحيث انني احيانا اضطر الى ان يكون التكست بوكس جهته من اليسار والكتابة انكليزية

ارجو تعديل اكواد، فانا بانتظارها كي اشرع في استخدامها في برنامجي والتخلص من مئات الاسطر


بارك الله فيك
وجزاك الله عني كل خير

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

يبدو أن هناك بعض الغموض في الأداة
سأقوم بشرح سريع للخصائص التي تم إضافتها في الأداة فهي مصممة بحسب طلبك...

إقتباس :أ- اغير لون خلفية التكست بوكس الى لون مغاير
الخاصية GotFocusColor = هي لتحديد لون الخلفية المطلوبة عندما يكون التركيز على الأداة وبالتالي تستطيع تغييرها بالقيمة الموجودة داخل قاعدة البيانات بواسطة الإسناد المعروف على النحو التالي:

كود :
AdvancedTextBox1.GotFocusColor = System.Drawing.ColorTranslator.FromHtml(My_back_Color_tbox)

إقتباس :ب- اكبر الخط
ج - اغمق الخط

الخاصية GotFocusFont = هي لتحديد الخط المطلوب عندما يكون التركيز على الأداة وأيضا تستطيع تغييرها بواسطة الإسناد المعروف على النحو التالي:

كود :
AdvancedTextBox1.GotFocusFont = New Font(Me.txt_Shra.Font.Name, 14, FontStyle.Bold)

إقتباس :د - انادي للتابع الدي يجعل الادخال على اللغة العربية ( اي ان الكتابة سوف تكون بالعربي)

في المثال السابق كانت اللغة العربية هي الافتراضية ولكن بحسب طلبك الأخير تم إضافة خاصية اللغة ...
الخاصية InputLanguages = هي لتحديد لغة الكتابة وتحتمل إحدى القيمتين التاليتين:

1- AdvancedTextBox.Languages.English = لجعل لغة الكتابة باللغة الانجليزية...
2- AdvancedTextBox.Languages.Arabic = لجعل لغة الكتابة باللغة العربية...
وطريقة تغييرها على النحو التالي:
للغة الانجليزية:
كود :
AdvancedTextBox1.InputLanguages =AdvancedTextBox.Languages.English

للغة العربية:
كود :
AdvancedTextBox1.InputLanguages =AdvancedTextBox.Languages.Arabic

إقتباس :هـ - وادا كان التكست بوكس سوف يتم استقبال ارقام فيه
فهنا امنع كتاية اي شي سوى الارقام
اضافة الى تنسيق الرقم

الخاصية NumberOnly = لتحديد هل الأداة تقبل نص وأرقام أم أرقام فقط وتحتمل قيمتين:
1- False = ومعنى ذلك أن الأداة ستقبل الأرقام والأحرف على حد سواء
2- True = ومعنى ذلك أن الأداة لن تقبل إلا الأرقام فقط

بالنسبة إلى تنسيق الرقم سيتم بمجرد جعل قيمة الخاصية NumberOnly = True
كما تستطيع تحديد عدد الأرقام العشرية بعد الفاصلة من خلال:
الخاصية DecimalDigits = وهي لتحديد عدد الأرقام بعد الفاصلة...
فإذا كانت القيمة تساوي صفر فهذا يعني أن تنسيق الرقم سيكون بدون أرقام عشرية ... وهكذا

أخيرا بالنسبة إلى إزاحة النص عن الحواف لغرض توضيح النص فتستطيع ذلك من خلال:
الخاصية RightLeftMargins = لتحديد حدود الكتابة من جهة اليمين واليسار...
فإذا كانت القيمة تساوي صفر فسيكون الوضع الافتراضي وكلما زادت القيمة كلما زادت المسافة التي تسبق النص

أرجو أن يكون الغموض قد زال

وأخيرا الأداة بعد التعديل في المرفقات


الملفات المرفقة
.zip   AdvTextBox2.zip (الحجم : 55.16 ك ب / التحميلات : 286)
الرد }}}
تم الشكر بواسطة: alims , hoob computer , kafi2030
#9
الشرح كتير رائع اخى sooriaty03Big Grin
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة: sooriaty03 , kafi2030
#10
الف الف شكر
اخي sooriaty


على تواصلك معي، احب ان اشير الى ان الاكواد التي تفضلت بها حضرتك استطعت والحمد لله ان اكيفها مع برنامجي، واقتربت اداة التكست بوكس بفضل الله ثم بفضلك من الكمال والحمد لله( الكمال لله وحده).

ولكن بقيت مشكلة
انه عندما تكون الكتابة عربية، فيجب ان تكون محاذاة النص من اليمين الى اليسار
وعندما تكون الكتابة على الحقل انكليزية، يجب ان تكون محاذاة الكتابة من اليسار الى اليمين


حاولت كتابة مايلي
كود :
Private Sub GotFocusTasks()
        Me.BackColor = System.Drawing.ColorTranslator.FromHtml(My_back_Color_tbox)
        Me.Font = New Font("Arial", 14, FontStyle.Bold)

        If Me.InputLanguages_ = Languages.Arabic Then set_arabic()
        If Me.InputLanguages_ = Languages.English Then
            set_english()
            Me.TextAlign = Left
        End If

ودلك في حال كانت الكتابة انكليزية ان تكون المحاذاة يسارية
الا انه ظهرت رسالة خطأ


ارجو تصويب الامر

بارك الله فيك

والسلام عليكم


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تظليل التكست بوكس عند وضع المؤشر مصمم هاوي 2 144 02-03-24, 08:48 AM
آخر رد: مصمم هاوي
  بحث بالكومبو بوكس لا ى جزء من النص Lathe1 3 440 28-02-24, 02:59 AM
آخر رد: معاند الحظ
  كيف ارسل مجموع 3 تكست بوكس إلى واحد بالترتيب ؟ أبووسم 3 330 18-12-23, 05:17 PM
آخر رد: أبووسم
  [سؤال] توزيع الارقام على أكثر من تكست بوكس أبووسم 11 692 17-11-23, 12:04 AM
آخر رد: أبووسم
  كود تغيير قيمة تكست بوكس فى تاريخ معين Ahmed.vb 2 906 11-10-23, 10:35 PM
آخر رد: aljzazy
  [VB.NET] اريد كود البحث او الفلترة عن طريق تيكست بوكس و عرض النتيجة في داتا جريد فيو الحسين احمد 6 10,621 10-06-23, 01:01 PM
آخر رد: mahmoud mostafa 2023
  [VB.NET] إرسال البيانات من التكست بوكس إلى الداتا قريد أبووسم 5 720 28-04-23, 04:15 PM
آخر رد: أبووسم
  [VB.NET] محتاج كود اضهار مسج بوكس كل يوم سبت او احد mac9 8 842 27-03-23, 10:44 PM
آخر رد: sanyor77
  مشكلة في كومبو بوكس فراس محي 3 570 14-03-23, 06:40 PM
آخر رد: عضو جديد
  [VB.NET] راديو بوتن & شيك بوكس الزويي 2 499 19-01-23, 05:25 PM
آخر رد: الزويي

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم