19-10-13, 04:30 PM (آخر تعديل لهذه المشاركة : 19-10-13, 04:32 PM {2} بواسطة kafi2030.)
بسم الله الرحمن الرحيم
السلام عليكم
عند البدء بالكتابة داخل التكست بوكس، تكون الكتابة ملاصقة تماما للحد الايمن للتكست بوكس
سؤالي : هل يوجد Marging داخلي او مايسمى pading على ما اعتقد، بحيث يتاح المجال بابعاد الكتابة عن الحد الايمن للتكست بوكس عدة فراغات، من اجل سهولة القراءة
20-10-13, 12:28 AM (آخر تعديل لهذه المشاركة : 20-10-13, 12:33 AM {2} بواسطة kafi2030.)
الف شكر
اخي ابو رائد
على اجابتك
قمت بتجريب المثال الذي تفضلت به حضرتك، وكان يعمل بشكل ممتاز
تم نقل ذات الكود الى برنامجي، ولكنه للاسف لم يعمل
بعد البحث والتدقيق، اكتشفت سبب عدم عدم الكود الذي تفضلت به
السبب يكمن في انني في حدث التركيز على التكست بوكس، اقوم بتكبير الخط من اجل اضفاء مزيد من الوضوح والتيسير على المستخدم اثناء الادخال، وبعد فقدان التركيز ارجع الخط الى حجمه
كود :
Me.txt_Note.Font = New Font(Me.txt_Note.Font.Name, 14, FontStyle.Bold)
هذا السطر هو السبب في عدم عمل الكود، وعند تجميده يعمل الكود
كيف لي ان اوفق ببن الكودين ( الكود المتعلق بازاحة الكتابة عن حافة التكست بوكس، وكود تكبير الخط عندما يكون التركيز على العنصر)
(20-10-13, 12:28 AM)kafi2030 كتب : الف شكر
اخي ابو رائد
على اجابتك
قمت بتجريب المثال الذي تفضلت به حضرتك، وكان يعمل بشكل ممتاز
تم نقل ذات الكود الى برنامجي، ولكنه للاسف لم يعمل
بعد البحث والتدقيق، اكتشفت سبب عدم عدم الكود الذي تفضلت به
السبب يكمن في انني في حدث التركيز على التكست بوكس، اقوم بتكبير الخط من اجل اضفاء مزيد من الوضوح والتيسير على المستخدم اثناء الادخال، وبعد فقدان التركيز ارجع الخط الى حجمه
كود :
Me.txt_Note.Font = New Font(Me.txt_Note.Font.Name, 14, FontStyle.Bold)
هذا السطر هو السبب في عدم عمل الكود، وعند تجميده يعمل الكود
كيف لي ان اوفق ببن الكودين ( الكود المتعلق بازاحة الكتابة عن حافة التكست بوكس، وكود تكبير الخط عندما يكون التركيز على العنصر)
ارجو الارشاد والتوجيه
بارك الله فيكم
السلام عليكم ورحمة الله وبركاته
تحتاج لتنفيذ أمر الـ Margin بعد كل مرة تغير فيها الخط مثل التالي
كود :
Me.txt_Note.Font = New Font(Me.txt_Note.Font.Name, 14, FontStyle.Bold)
TextBoxMargin(Me.txt_Note, 10, 10)
20-10-13, 06:13 PM (آخر تعديل لهذه المشاركة : 20-10-13, 06:14 PM {2} بواسطة kafi2030.)
الف شكر
اخي ابو رائد على اجابتك
نجخ الامر والحمد لله
الا انه وبسبب حاجتي الى هذا الكود في كل شاشة من شاشات الادخال، قررت ان اضعه في وحدة نمطية، حتى لا اضعه في كل شاشة
وعدلت كلمة Private الى كلمة Public
كود :
#Region " TextBoxMargin "
<Runtime.InteropServices.DllImport("user32.dll", CharSet:=Runtime.InteropServices.CharSet.Auto)> _
Public Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInt32, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
End Function
Public Const EM_SETMARGINS = &HD3
Public Const EC_LEFTMARGIN = &H1
Public Const EC_RIGHTMARGIN = &H2
Public Sub TextBoxMargin(ByVal control As TextBox, ByVal leftMargin As Integer, ByVal rightMargin As Integer)
Dim lParam As Long = &H10000 * rightMargin + leftMargin
SendMessage(control.Handle.ToInt32, EM_SETMARGINS, EC_LEFTMARGIN Or EC_RIGHTMARGIN, lParam)
End Sub
#End Region
الا انه اعطى رسالة خطأ
Error 1 Methods in a Module cannot be declared 'Shared'. G:\Kafi_Net_LinQ\kafi\My_function.vb 25 12 kafi
ارجو تصويب الكود السابق، من اجل جعله في وحدة نمطية
والف شكر