منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] اريد كود عند كل مره افتح البرنامج يتغير الصوره - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] اريد كود عند كل مره افتح البرنامج يتغير الصوره (/showthread.php?tid=3004)



اريد كود عند كل مره افتح البرنامج يتغير الصوره - amedo - 25-05-14

اريد كود عند كل مره افتح البرنامج يتغير الصوره في PictureBox الى صوره اخرى

فيجوال استوديو 2012 وشكراً


RE: اريد كود عند كل مره افتح البرنامج يتغير الصوره - amedo - 25-05-14

(25-05-14, 12:34 PM)vbnet كتب : -
لم تحدد مصدر الصورة هل صور خارج البرنامج أو في الريسورس
لم تحدد تغير الصور تسلسلي أم عشوائي
-

نعم اخى الصور في ريسورس والترتيب تسلسلى


RE: اريد كود عند كل مره افتح البرنامج يتغير الصوره - vbnet - 25-05-14

(25-05-14, 12:56 PM)amedo كتب : اريد كود عند كل مره افتح البرنامج يتغير الصوره في PictureBox الى صوره اخرى
...الصور في ريسورس والترتيب تسلسلى

منقول مع تعديل بسيط ليناسب طلبك

أولاً إجعل أسماء الصور أرقام وستلاحظ عند إضافتها للريسورس أن اسماء الصور والتي هي أرقام أضيفت قبلها الرمز (_) تشبة (1_) (2_)...وهكذا.. أتركها ولا تغيرها

ثانيا إذهب إلى خصائص المشروع التبويب Settings وأضف متغير باسم num

ثالثاُ ضع هذا الكود وغير الرقم 4 إلى عدد الصور لديك
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    My.Settings.num = Val(My.Settings.num) + 1
    If Val(My.Settings.num) > 4 Then My.Settings.num = 1
    Me.PictureBox1.Image = My.Resources.ResourceManager.GetObject("_" & Val(My.Settings.num))
End Sub

صورة لتوضيح أولاً وثانياً



RE: اريد كود عند كل مره افتح البرنامج يتغير الصوره - amedo - 25-05-14

(25-05-14, 01:24 PM)vbnet كتب :
(25-05-14, 12:56 PM)amedo كتب : اريد كود عند كل مره افتح البرنامج يتغير الصوره في PictureBox الى صوره اخرى
...الصور في ريسورس والترتيب تسلسلى

منقول مع تعديل بسيط ليناسب طلبك

أولاً إجعل أسماء الصور أرقام وستلاحظ عند إضافتها للريسورس أن اسماء الصور والتي هي أرقام أضيفت قبلها الرمز (_) تشبة (1_) (2_)...وهكذا.. أتركها ولا تغيرها

ثانيا إذهب إلى خصائص المشروع التبويب Settings وأضف متغير باسم num

ثالثاُ ضع هذا الكود وغير الرقم 5 إلى عدد الصور لديك
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    My.Settings.num = Val(My.Settings.num) + 1
    If Val(My.Settings.num) > 5 Then My.Settings.num = 1
    Me.PictureBox1.Image = My.Resources.ResourceManager.GetObject("_" & Val(My.Settings.num))
End Sub

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


RE: اريد كود عند كل مره افتح البرنامج يتغير الصوره - amedo - 25-05-14

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


RE: اريد كود عند كل مره افتح البرنامج يتغير الصوره - silverlight - 25-05-14

تعديل بسيط....عليك أن تستخدم الكود ب الشكل التالي


كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        My.Settings.ImageNumber = Val(My.Settings.ImageNumber)
        If Val(My.Settings.ImageNumber) > 4 Then My.Settings.ImageNumber = 1
        Me.PictureBox1.Image = My.Resources.ResourceManager.GetObject("_" & Val(My.Settings.ImageNumber))
    End Sub

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
        My.Settings.ImageNumber = Val(My.Settings.ImageNumber) + 1
    End Sub



RE: اريد كود عند كل مره افتح البرنامج يتغير الصوره - amedo - 25-05-14

(25-05-14, 05:47 PM)silverlight كتب : تعديل بسيط....عليك أن تستخدم الكود ب الشكل التالي


كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        My.Settings.ImageNumber = Val(My.Settings.ImageNumber)
        If Val(My.Settings.ImageNumber) > 4 Then My.Settings.ImageNumber = 1
        Me.PictureBox1.Image = My.Resources.ResourceManager.GetObject("_" & Val(My.Settings.ImageNumber))
    End Sub

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
        My.Settings.ImageNumber = Val(My.Settings.ImageNumber) + 1
    End Sub

شكراً اخى الكريم ، تم الحل Rolleyes


RE: اريد كود عند كل مره افتح البرنامج يتغير الصوره - سعود - 26-05-14

ماشاء الله
حظك طيب اخي الكريم صاحب السؤال
وجدت اجوبة نادرة بصراحة.
بقي سؤال عن الـريسورس وهو: ماهو كود معرفة عدد ملفاتها؟


RE: اريد كود عند كل مره افتح البرنامج يتغير الصوره - سعود - 26-05-14

(26-05-14, 06:42 AM)vbnet كتب :
(26-05-14, 06:11 AM)سعود كتب : بقي سؤال عن الـريسورس وهو: ماهو كود معرفة عدد ملفاتها؟

موجود في هذا المنتدى
معرفة جميع الملفات الموجودة في الريسورس

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


RE: اريد كود عند كل مره افتح البرنامج يتغير الصوره - vbnet - 26-05-14

(26-05-14, 06:56 AM)سعود كتب : بقي سؤال عن الـريسورس وهو: ماهو كود معرفة عدد ملفاتها؟
(26-05-14, 06:42 AM)vbnet كتب : معرفة جميع الملفات الموجودة في الريسورس
(26-05-14, 06:11 AM)سعود كتب : لكن الا يوجد كود مباشر لمعرفة عدد الملفات؟ لان بالكود هذا لابد من سرد الملفات ثم بعد ذلك يتم معرفة العدد.

ليس من الضروري سرد الملفات،

منقول مع تعديل بسيط ليناسب طلبك

معرفة عدد ملفات الريسورس
كود :
MsgBox("عدد الملفات: " & My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True).OfType(Of Object).Count)
أو
كود :
Dim ResourceSet As Resources.ResourceSet = My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True)
MsgBox("عدد الملفات: " & ResourceSet.OfType(Of Object).Count)

معرفة عدد صور الريسورس
كود :
MsgBox("عدد الصور: " & My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True).OfType(Of Object).Where(Function(d) TypeOf (d.Value) Is Drawing.Image).Count)
أو
كود :
Dim ResourceSet As Resources.ResourceSet = My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True)
MsgBox("عدد الصور: " & ResourceSet.OfType(Of Object).Where(Function(d) TypeOf (d.Value) Is Drawing.Image).Count)