المشاركات : 2,646
المواضيع 204
الإنتساب : Dec 2015
السمعة :
337
الشكر: 17136
تم شكره 11148 مرات في 2628 مشاركات
09-09-20, 11:23 PM
(آخر تعديل لهذه المشاركة : 10-09-20, 04:02 PM {2} بواسطة عبد العزيز البسكري.)
السّلام عليكم و رحمة الله و بركاته
إخواني الأفاضل .. لو كان بالإمكان المساعدة لحل هذه الإشكاليّة
الموضوع كالتالي ..
أقوم بحفظ اسم Skin معين من سكاينات الديف إكسبرس في الريجيستري
و يبقى هذا السكاين الذي إخترته شغّال حتى بعد غلق المشروع
أقوم باختيار السكاين من أوّل فورم يتم إظهاره للمستخدم
يتم حفظ اسم السكاين بالريجيستري
عند التشغيل مرة قادمة .. يتم إستدعاء قيمة الريجيستري بالفورم لود
كود :
Public Sub Add_Last_Theme_Bonus_Skins_From_Registry()
'Save Bonus Skins Selected in Registry
Dim SkinName As Microsoft.Win32.RegistryKey
SkinName = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows", True)
SkinName.SetValue("SkinName", DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName.ToString())
SkinName.Close()
End Sub
Public Sub Get_Last_Theme_Bonus_Skins_From_Registry()
'Get Bonus Skins Selected in Registry
Dim SkinName As Microsoft.Win32.RegistryKey
SkinName = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows", True)
If SkinName IsNot Nothing Then
DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = SkinName.GetValue("SkinName").ToString()
End If
End Sub
إلى هنا .. كل شيء تمام ..
المشكلة ..
عند التشغيل أوّل مرّة .. عند فرمتة الجهاز .. أو عند التشغيل على جهاز العميل
قيمة الريجيستري ستكون طبعا فارغة و بالتالي ..
أردت عمل ما يأتي
عند أوّل مرة إذا كانت قيمة الريجيستري فارغة .. الفورم سيأخذ اسم السكاين مثلا ..
Caramel
و إذا لم تكن قيمة الريجيستري فارغة .. تأخذ اسم السكاين الذي تم إختياره و تم حفظها بالريجيستري
حاولت بهذا المفهوم .. لكنها ما ضبطت معي ..
كود :
Dim SkinName As Microsoft.Win32.RegistryKey
SkinName = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SkinName")
If SkinName IsNot Nothing Then
DevExpress.Skins.SkinManager.EnableFormSkins()
DevExpress.UserSkins.BonusSkins.Register()
DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = "Caramel"
Else
SkinName = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows", True)
If SkinName IsNot Nothing Then
DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = SkinName.GetValue("SkinName").ToString()
End If
End If
بارك الله فيكم و لكم مقدما و جزاكم خير الجزاء
تحياتي واحتراماتي
المشاركات : 476
المواضيع 33
الإنتساب : Mar 2014
السمعة :
175
الشكر: 366
تم شكره 1393 مرات في 471 مشاركات
السلام عليكم استاذي عبد العزيز
لماذا لاتقوم بحفظ اسم السكين في ال settings بدلا من الريجيستري ؟ اظن انها اسهل
المشاركات : 2,646
المواضيع 204
الإنتساب : Dec 2015
السمعة :
337
الشكر: 17136
تم شكره 11148 مرات في 2628 مشاركات
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أستاذي الكريم على مشاركتي المشكلة
جزاك الله خيرا إن شاء الله
الفكرة أخي الغالي .. فكرة حفظ اسم السكاين بالريجيستري بالحقيقة تتبعتها من خلال شروحات الأخ الكريم عاطف بديري بقسم الديف إكسبرس .. لكنّه تجاهل نقطة التشغيل أوّل مرة على جهازنا أو على جهاز آخر و بالتالي تكون القيمة المراد جلبها فارغة تماما
لا يهم يا طيّب ..
أكون جد ممنون لك لو تكرمت بالفكرة و لو بالأكواد فقط دون إرهاقك بالمثال
بارك الله فيك مقدما و أنعم عليك بما يحبه و يرضاه إن شاء الله
إحتراماتي أستاذنا
المشاركات : 476
المواضيع 33
الإنتساب : Mar 2014
السمعة :
175
الشكر: 366
تم شكره 1393 مرات في 471 مشاركات
تفضل استاذي :
اضف قيمة جديدة في الستنجز
الان عند الحاجة اليها :
كود :
DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = My.Settings.SkinName
عند الحاجة الى تغييرها :
كود :
My.Settings.SkinName = "اسم السكين"
My.Settings.Save()
المشاركات : 2,646
المواضيع 204
الإنتساب : Dec 2015
السمعة :
337
الشكر: 17136
تم شكره 11148 مرات في 2628 مشاركات
السّلام عليكم و رحمة الله و بركاته
أكواد جد بسيطة و مختصرة و بدون تعقيدات .. و ضبطت تمام التمام و لله الحمد و الشكر .. و يتم ضمان دائما قيمة مبدئية مسجلة بالسيتينغ ..
بارك الله فيك و لك و أنعم عليك بما تحبه بطاعة الله و مرضاته أخي الكريم
شوف لو سمحت أخي أنس ..
أنا أقوم باختيار السكاين من خلال الكومبوبوكس ..
و الكود بهذا الشكل شغّال و الحمد لله .. لكن من باب المراجعة لو تكرّمت تلقي نظرة عليه
كود :
Imports DevExpress.XtraEditors
Imports DevExpress.Skins
Public Class Form1
Sub New()
InitializeComponent()
DevExpress.Skins.SkinManager.EnableFormSkins()
DevExpress.UserSkins.BonusSkins.Register()
'ComboBox Skins
For Each cn As SkinContainer In SkinManager.Default.Skins
ComboBoxEdit1.Properties.Items.Add(cn.SkinName)
Next
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = My.Settings.SkinName
End Sub
Private Sub ComboBoxEdit1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBoxEdit1.SelectedIndexChanged
DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(ComboBoxEdit1.Text)
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
Dim Frm As New DialogResult
Frm = XtraMessageBox.Show("هل تريد فعلا الخروج من المنظومة ؟", "تنبيه", MessageBoxButtons.YesNo, MessageBoxIcon.Information)
If Frm = DialogResult.Yes Then
My.Settings.SkinName = Me.ComboBoxEdit1.Text
My.Settings.Save()
End()
End If
End Sub
End Class
تحياتي واحتراماتي
المشاركات : 2,329
المواضيع 81
الإنتساب : May 2018
السمعة :
522
الشكر: 14039
تم شكره 5671 مرات في 2269 مشاركات
10-09-20, 01:09 AM
(آخر تعديل لهذه المشاركة : 10-09-20, 01:12 AM {2} بواسطة asemshahen5.)
PHP كود :
Private Sub BtnRegeditExport_Click(sender As Object, e As EventArgs) Handles BtnRegeditExport.Click Dim Path As String = "C:\RegBackup.reg" RegeditExport("HKEY_CURRENT_USER\AsemConnectionXT", Path) Dim r As New System.IO.StreamReader(Path) Txt_EncodingSN.Text = r.ReadToEnd() MessageBox.Show("Test") End Sub Sub RegeditImport(sFilename As String) Process.Start(sFilename) Dim r As New System.IO.StreamReader(sFilename) Txt_EncodingSN.Text = r.ReadToEnd() End Sub Sub RegeditExport(sKey As String, sFilename As String) System.Diagnostics.Process.Start("Regedit.exe", "/e " & sFilename & " " & sKey) End Sub Private Sub BtnRegeditImport_Click(sender As Object, e As EventArgs) Handles BtnRegeditImport.Click Dim Path As String = "C:\RegBackup.reg" RegeditImport(Path) End Sub
السلام عليكم و رحمة الله و بركاته هذه اكواد تصدير ملف من الرجستري الى الهارد ديسك و اكواد استيرادها .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
المشاركات : 2,646
المواضيع 204
الإنتساب : Dec 2015
السمعة :
337
الشكر: 17136
تم شكره 11148 مرات في 2628 مشاركات
كامل الشكر و التقدير و الإحترام و العرفان و الإمتنان لك أخي و أستاذي العزيز الغالي عاصم
إضافة و لمسة من لمساتك الثمينة سيتم دراستها و التمعن بمحتوياتها و العمل بما فيها إن شاء الله
تحياتي و احتراماتي
المشاركات : 476
المواضيع 33
الإنتساب : Mar 2014
السمعة :
175
الشكر: 366
تم شكره 1393 مرات في 471 مشاركات
(10-09-20, 12:53 AM)عبد العزيز البسكري كتب : السّلام عليكم و رحمة الله و بركاته
أكواد جد بسيطة و مختصرة و بدون تعقيدات .. و ضبطت تمام التمام و لله الحمد و الشكر .. و يتم ضمان دائما قيمة مبدئية مسجلة بالسيتينغ ..
بارك الله فيك و لك و أنعم عليك بما تحبه بطاعة الله و مرضاته أخي الكريم
شوف لو سمحت أخي أنس ..
أنا أقوم باختيار السكاين من خلال الكومبوبوكس ..
و الكود بهذا الشكل شغّال و الحمد لله .. لكن من باب المراجعة لو تكرّمت تلقي نظرة عليه
ولك بمثله استاذي
جميل جدا استاذي ، ولكن اذا تم غلق البرنامج بطريقة خاطئة لن يتم حفظ الستنج المطلوب ، اذا كان ذلك ما تريده لا بأس
لكن رأيي ان تغير قيمة الستنج عند اختيار المستخدم سكين من الكومبو بوكس
المشاركات : 2,646
المواضيع 204
الإنتساب : Dec 2015
السمعة :
337
الشكر: 17136
تم شكره 11148 مرات في 2628 مشاركات
و كيف لو سمحت يتم تغيير قيمة السيتينغ عند تغيير السكاين من الكومبوبوكس ؟
إحتراماتي أستاذنا
المشاركات : 476
المواضيع 33
الإنتساب : Mar 2014
السمعة :
175
الشكر: 366
تم شكره 1393 مرات في 471 مشاركات
10-09-20, 01:19 PM
(آخر تعديل لهذه المشاركة : 10-09-20, 01:20 PM {2} بواسطة Anas Mahmoud.)
بعد تغيير السكين مباشرة استاذي :
كود :
Private Sub ComboBoxEdit1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBoxEdit1.SelectedIndexChanged
DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(ComboBoxEdit1.Text)
My.Settings.SkinName = Me.ComboBoxEdit1.Text
My.Settings.Save()
End Sub
|