منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كود يقوم بتغير اللون للحقول
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاته

لو سمحتم ممكن طريقة كتابة كود يقوم بتغير لون الحقول على سبيل المثال لكامل المشروع وليس الفورم فقط وكذلك حفظ اللون المختار في الريجستري ليظهر مجدداً عند تشغيل البرنامج

أرجو أن يكون كود إحترافي ومختصر

ولكم كل الشكر



 
أين ردودكم أحبابي
هذا كود يحفظ بـ Settingsالخاص بالبرنامج .

كود :
'حقول المطلوب وجودها في Settings و هي من نوع String
'DgvColor1
'DgvColor2
'DgvColor3
'DgvColor4
'DgvColor5
'DgvColor6
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        LoadDgvColore(DataGridView1)'كود تحميل ألوان الداتا غريد فيو
End Sub

Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click'حفظ ألوان حقول الجدول في Settings الخاص بالبرنامج
       My.Settings.DgvColor1 = DgvTest.DefaultCellStyle.BackColor.R
       My.Settings.DgvColor2 = DgvTest.DefaultCellStyle.BackColor.G
       My.Settings.DgvColor3 = DgvTest.DefaultCellStyle.BackColor.B
       My.Settings.DgvColor4 = DgvTest.AlternatingRowsDefaultCellStyle.BackColor.R
       My.Settings.DgvColor5 = DgvTest.AlternatingRowsDefaultCellStyle.BackColor.G
       My.Settings.DgvColor6 = DgvTest.AlternatingRowsDefaultCellStyle.BackColor.B
       My.Settings.Save()
       MsgBox("تمت عملية الحفظ بنجاح", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRtlReading + MsgBoxStyle.MsgBoxRight, "حفظ")
End Sub

Public Sub LoadDgvColore(DgvTabel As DataGridView)'ضع هذا في مديول لتستطيع إستعماله في أي فورم
       DgvTabel.DefaultCellStyle.BackColor = Color.FromArgb(My.Settings.DgvColor1, My.Settings.DgvColor2, My.Settings.DgvColor3)
       DgvTabel.AlternatingRowsDefaultCellStyle.BackColor = Color.FromArgb(My.Settings.DgvColor4, My.Settings.DgvColor5, My.Settings.DgvColor6)
End Sub

وهذا كود اختيار الألوان الخاصة بالجدول .

كود :
    Private Sub BtnFirstColor_Click(sender As Object, e As EventArgs) Handles BtnFirstColor.Click
       Dim ColorXT As New ColorDialog
       If ColorXT.ShowDialog = Windows.Forms.DialogResult.OK Then
           DgvTest.DefaultCellStyle.BackColor = ColorXT.Color
       End If
   End Sub
   Private Sub BtnSecondColor_Click(sender As Object, e As EventArgs) Handles BtnSecndColor.Click
       Dim ColorXT As New ColorDialog
       If ColorXT.ShowDialog = Windows.Forms.DialogResult.OK Then
           DgvTest.AlternatingRowsDefaultCellStyle.BackColor = ColorXT.Color
       End If
   End Sub
مشكور أخي asemshahen5 ولاكن طلبي كان بخصوص تلوين الأدوات مثل TextBox و Button من خلال أداة ColorDialog
 

بالنسبة لي لدي القدرة على برمجة كود يعطي اللون لكل أداة من  TextBox على حده مثل TextBox1 و TextBox2

ولاكن طلبي كود يقوم بتغير اللون لأداة TextBox لكامل المشروع بضغطة زر واحدة 

مشكور على الرد وأرجو الحصول على طلبي
هل تريد معها حفظ ألوان التكست فقط مع لون الخط الخاص بها مع نوع الخط و خاصية الفلات ستايل بتاع الازرار و صورة خلفية موحدة لكل الفورم الموجودة بالمشروع .
أخي أريد أن أغير لون BackColor لكل أداة TextBox موجودة على أي فورم بالمشروع من خلال أداة ColorDialog بضغطه واحدة وحفظ هذا التغيير حتى لو أقفلت المشروع وفتحته من جديد
بسيطة 5 دقائق

كود :
'فقط ضع TextBoxBackColor في Settings
  Public Sub LoadSavedThems(FormXT As Form)'ضع هذا في مديول
       For Each crl In FormXT.Controls
           If TypeOf (crl) Is GroupBox Or TypeOf (crl) Is Panel Or TypeOf (crl) Is SplitContainer Or TypeOf (crl) Is TabControl Then
               For Each cln In crl.controls
                   If TypeOf (cln) Is TextBox Then
                       cln.BackColor = Color.FromName(My.Settings.TextBoxBackColor)
                   End If
               Next
           End If
           If TypeOf (crl) Is TextBox Then
               crl.BackColor = Color.FromName(My.Settings.TextBoxBackColor)
           End If
       Next
   End Sub
   
   Private Sub BtnTextBoxBackColor_Click(sender As Object, e As EventArgs) Handles BtnTextBoxBackColor.Click'زر تغيير لون التكست
      Dim ColorXT As New ColorDialog
      If ColorXT.ShowDialog = Windows.Forms.DialogResult.OK Then
          TextBox1.BackColor = ColorXT.Color
      End If
  End Sub
 
  Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click'زر حفظ اللون
       My.Settings.TextBoxBackColor = TextBox1.BackColor.Name
       My.Settings.Save()
       MsgBox("تمت عملية الحفظ بنجاح", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRtlReading + MsgBoxStyle.MsgBoxRight, "حفظ")
  End Sub
 
  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        LoadSavedThems(Me)'كود الاستدعاء
  End Sub
ياريت توضيح لكيفية وضع TextBoxBackColor في Settings 

أخي ياريت الكود يقوم بتغير كل أدوات TextBox بدون ذكر أسمائهم أي ليس كما فعلت أنت بهذا الكود
(26-10-18, 01:41 AM)sads كتب : [ -> ]ياريت توضيح أكثر للكود ولو بشي من التفصيل

هذا لوب يبحث عن كل الأدوات الموجودة في الفورم و الغروب بوكس مع تحديد نوعها يوضع في مديول بالمشروع .

كود :
Public Sub LoadSavedThems(FormXT As Form)'ضع هذا في مديول
      For Each crl In FormXT.Controls
          If TypeOf (crl) Is GroupBox Or TypeOf (crl) Is Panel Or TypeOf (crl) Is SplitContainer Or TypeOf (crl) Is TabControl Then
              For Each cln In crl.controls
                  If TypeOf (cln) Is TextBox Then
                      cln.BackColor = Color.FromName(My.Settings.TextBoxBackColor)
                  End If
              Next
          End If
          If TypeOf (crl) Is TextBox Then
              crl.BackColor = Color.FromName(My.Settings.TextBoxBackColor)
          End If
      Next
  End Sub

و الباقي شارح نفسه زر إختيار اللون و زر حفظ للتعديل و الاستدعاء في الفورم لود .
ياريت توضيح لكيفية وضع TextBoxBackColor في Settings 

أخي من خصائص دخلت على Settings ووضعت TextBoxBackColor في خانة Name وتركت الباقي كما هوا 
هل مافعلته صحيح لأن هناك خطأ عند التنفيذ

الخطأ كالتالي
Control does not support transparent background colors.
الصفحات : 1 2