تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[C#.NET] كيفية عمل مثل هذا التضليل لاكثر من سطر فى برنامج ايات
#1
السلام عليكم 

ارجوا مساعدتى فى معرفة كيفية تظليل الاية التى هى اكثر من سطر كما هى موجودة فى برنامج ايات 

انا قد استخدمت كود  ولكن هو يضلل سطر واحد ولكن الاية ان كانت اكثر من سطر 

كيف ارجو المساعدة فى ذالك
كود :
  public Color ColorMouseHover = Color.FromArgb(70, 185, 215, 252);
       public Color ColorMouseLeave = Color.FromArgb(0, 255, 255, 255);

#region ColorMouse
       public void setColorMouseHover(int sura, int ayah)
       {
           try
           {

               if (P1.Controls.Count > 1)
               {
                   var g = P1.Controls.Find(string.Format("Page{0}_S{1}_A{2}", ImageNum1, sura, ayah), true);
                   if (g.Length > 0)
                   {
                       Label lb = (Label)g[0];
                       lb.BackColor = ColorMouseHover;
                   }
                   var R = P1.Controls.Find(string.Format("Rich{0}_S{1}_A{2}", ImageNum1, sura, ayah), true);
                   if (R.Length > 0)
                   {
                       Label Rich = (Label)R[0];
                       Rich.BackColor = ColorMouseHover;
                       Rich.ForeColor = Color.Blue;
                   }
               }
               if (P2.Controls.Count > 1)
               {
                   var g = P2.Controls.Find(string.Format("Page{0}_S{1}_A{2}", ImageNum1, sura, ayah), true);
                   if (g.Length > 0)
                   {
                       Label lb = (Label)g[0];
                       lb.BackColor = ColorMouseHover;
                   }
                   var R = P2.Controls.Find(string.Format("Rich{0}_S{1}_A{2}", ImageNum1, sura, ayah), true);
                   if (R.Length > 0)
                   {
                       Label Rich = (Label)R[0];
                       Rich.BackColor = ColorMouseHover;
                       Rich.ForeColor = Color.Blue;
                   }
               }
           }
           catch
           {

               return;
           }




       }
       public void setColorMouseLeave(int sura, int ayah)
       {
           try
           {
               if (P1.Controls.Count > 1)
               {
                   var g = P1.Controls.Find(string.Format("Page{0}_S{1}_A{2}", ImageNum1, sura, ayah), true);
                   if (g.Length > 0)
                   {
                       Label lb = (Label)g[0];
                       lb.BackColor = ColorMouseLeave;
                   }
                   var R = P1.Controls.Find(string.Format("Rich{0}_S{1}_A{2}", ImageNum1, sura, ayah), true);
                   if (R.Length > 0)
                   {
                       Label Rich = (Label)R[0];
                       Rich.BackColor = ColorMouseLeave;
                       Rich.ForeColor = Color.Black;
                   }
               }
               if (P2.Controls.Count > 1)
               {
                   var g = P2.Controls.Find(string.Format("Page{0}_S{1}_A{2}", ImageNum1, sura, ayah), true);
                   if (g.Length > 0)
                   {
                       Label lb = (Label)g[0];
                       lb.BackColor = ColorMouseLeave;
                   }
                   var R = P2.Controls.Find(string.Format("Rich{0}_S{1}_A{2}", ImageNum1, sura, ayah), true);
                   if (R.Length > 0)
                   {
                       Label Rich = (Label)R[0];
                       Rich.BackColor = ColorMouseLeave;
                       Rich.ForeColor = Color.Black;
                   }
               }

           }
           catch
           {

               return;
           }



       }
       #endregion
       #region void

       public Double rand(int x, int y)
       {
           Random clsRnd = new Random();

           return Math.Floor(clsRnd.NextDouble() * (y - x + 1) + x);
       }

       public void SetControlsToPanel(Control cot, int startSurah, int startAyah, int Page)
       {
           try
           {
               cot.Controls.Clear();
               int PagesSub = Page - 1;
               //=====================================================================
               int f = library.QuranMetaData.PagesContainer._pages[PagesSub].aya - 1;

               int Surah = library.QuranMetaData.PagesContainer._pages[PagesSub].sura - 1;
               int K = library.QuranMetaData.SurahsContainer._suras[Surah].ayas - 1;
               int r = Page;
               int v = library.QuranMetaData.PagesContainer._pages[r].aya;
               if (library.QuranMetaData.PagesContainer._pages[PagesSub].sura == library.QuranMetaData.PagesContainer._pages[r].sura)
               {
                   startAyah = v;
               }
               else
               {
                   startAyah = v + K;
               }
               //==================================================================
               for (int i = f; i < startAyah; i++)
               {
                   if (library.q.surahs[Surah].ayat[i].Page == null) return;
                   int Pages = int.Parse(library.q.surahs[Surah].ayat[i].Page);
                   if (Pages == Page)
                   {
                       int X = int.Parse(library.q.surahs[Surah].ayat[i].X);
                       int Y = int.Parse(library.q.surahs[Surah].ayat[i].Y);

                       int width = int.Parse(library.q.surahs[Surah].ayat[i].width);
                       int height = int.Parse(library.q.surahs[Surah].ayat[i].height);


                       LBL_S1_A1 = new Label();
                       LBL_S1_A1.BackColor = Color.Transparent;
                       LBL_S1_A1.Location = new Point(X, Y);
                       LBL_S1_A1.Name = string.Format("Page{0}_S{1}_A{2}", Page, Surah, i);
                       LBL_S1_A1.Size = new Size(width, height);
                       LBL_S1_A1.MouseClick += new MouseEventHandler(this.LBL_S1_A1_MouseClick);
                       LBL_S1_A1.MouseLeave += new EventHandler(this.LBL_S1_A6_2_MouseLeave);
                       LBL_S1_A1.MouseHover += new EventHandler(this.LBL_S1_A6_2_MouseHover);
                       cot.Controls.Add(LBL_S1_A1);
                   }

               }

           }
           catch
           {

               return;
           }




       }

  void Rich_teb_1_MouseHover(object sender, EventArgs e)
        {
            Label txt = (Label)sender;
            txt.BackColor = ColorMouseHover;
        }

        void Rich_teb_1_MouseLeave(object sender, EventArgs e)
        {
            Label txt = (Label)sender;
            txt.BackColor = ColorMouseLeave;
        }


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

صورة البرنامج ايات من الموقع للتوضيح 



ارجوا الاهتمام
الرد
تم الشكر بواسطة:
#2
(01-10-18, 08:57 PM)abdalamask كتب : السلام عليكم 

ارجوا مساعدتى فى معرفة كيفية تظليل الاية التى هى اكثر من سطر كما هى موجودة فى برنامج ايات 

انا قد استخدمت كود  ولكن هو يضلل سطر واحد ولكن الاية ان كانت اكثر من سطر 

كيف ارجو المساعدة فى ذالك

ارجوا الاهتمام


ممكن يكون فيه اهتمام لو وضعت المشروع وذلك
لمعرفة كيف تعرض الآيات وبعدها يمكن التوصل للمطلوب بالتجربة على مشروعك
الرد
تم الشكر بواسطة:
#3
المشروع موجود فى هذا الموضوع 
http://vb4arb.com/vb/showthread.php?tid=...#pid128898


[مشروع] هدية لمنتدى المميز مشروع متابعة حفظ القراءن بلغةc#


[مشروع] هدية لمنتدى المميز مشروع متابعة حفظ القراءن بلغةc#
الرد
تم الشكر بواسطة:
#4
(30-09-18, 08:15 PM)abdalamask كتب : السلام عيكم ورحمة الله وبركاتة 

مشروع متابعة الحفظ   القراءن   من برمجتى هدية للمنتدى واعضائة  

وارجوا نت تكون صدقة 


يجب تثبيت DevExpress_Universal_Complete_18.1.4

كنت متحمساً في المشاركة

ولكن اضح أن هناك اشتراط بوجود DevExpress وهذا لا يتوفر لدي

إن شاء الله تجد من يلبي لك طلبك،

بالتوفيق أخي abdalamask (لم أستطع أن أقرأ اسمك بالعربي)
الرد
تم الشكر بواسطة:
#5
https://www.youtube.com/watch?v=a7LUa4vjuRE
الرد
تم الشكر بواسطة:
#6
شكرا اخى على الاهتمام ولكن ليس هذا ما اريدة 


الفكرة هى عند تمرير الموس على الاية تظلل الاية كلها حتى ان كانت اكثر من سطر 

انا فعلت ان اظلل سطر واحد  

كيف اظلل الاية كلهههها حتى وان كانت سطر ونصف 
شكرا
الرد
تم الشكر بواسطة:
#7
لماذا لم اجد من يفدنى فى هذة المسالة 

اهى صعبة للدرجة على الاعضاء
الرد
تم الشكر بواسطة:
#8
عليك بتحديد
إحداثيات النقطة الأولى (x,y) لبداية الآية
وإحداثيات النقطة الثانية (x,y) لنهاية الآية


وعلى أساسها تقوم بالتظليل
الرد
تم الشكر بواسطة:
#9
انا فعلت مع الليبل هل يوجد غير ادات اليبل لتعطينى اكثر من سطر 

كود :
if (Pages == Page)
                   {
                       int X = int.Parse(library.q.surahs[Surah].ayat[i].X);
                       int Y = int.Parse(library.q.surahs[Surah].ayat[i].Y);
                       Double h = rand(X, Y);

                       int width = library.q.surahs[Surah].ayat[i].text.Length+100;
                       int height = 25;// int.Parse(library.q.surahs[Surah].ayat[i].height);


                       LBL_S1_A1 = new Label();
                       LBL_S1_A1.BackColor = Color.Transparent;
                       LBL_S1_A1.Location = new Point(X, Y);
                       LBL_S1_A1.Name = string.Format("Page{0}_S{1}_A{2}", Page, Surah, i);
                       LBL_S1_A1.Size = new Size(width,Convert.ToInt32(h));
                       LBL_S1_A1.MouseClick += new MouseEventHandler(this.LBL_S1_A1_MouseClick);
                       LBL_S1_A1.MouseLeave += new EventHandler(this.LBL_S1_A6_2_MouseLeave);
                       LBL_S1_A1.MouseHover += new EventHandler(this.LBL_S1_A6_2_MouseHover);
                       cot.Controls.Add(LBL_S1_A1);
                   }
فى هذا الكود  كما تقول ولكن اذا كانت الاية اكسر من سطر ماذا افعل
الرد
تم الشكر بواسطة:
#10
كنت أتمنى لو أن مشروعك بدون أي أدوات خارجية للبحث فيه وإيجاد الطريقة المناسبة وأكسب الأجر في مشروع كهذا
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] من يعرف برنامج تشفير قوي مدفوع عبد الله 5 113 07-10-18, 08:28 AM
آخر رد: elgokr
  سؤال عن كيفية جلب صورة أو ملف صوتي من مجلد داخل المشروع بتقنية WPF younass 2 150 01-09-18, 02:43 PM
آخر رد: elgokr
  سؤال عن كيفية فتح فورم داخل فورم اخر بتقنية WPF younass 0 124 30-08-18, 01:28 AM
آخر رد: younass
  سؤال عن كيفية تحديد قيمة عمود في السطر المحدد في datagrid مع تقنية wpf younass 8 286 27-08-18, 11:10 PM
آخر رد: elgokr
  [VB.NET] كيفية استخدام Newtonsoft.Json باصدارين مختلفين اصدار رقم 9 و رقم 10 الماجيك مسعد 12 400 13-08-18, 09:02 PM
آخر رد: elgokr
  سؤال عن كيفية نقل البيانات من بعض الاعمدة من اكسس او الاكسل الى SQl server younass 1 122 04-08-18, 11:50 PM
آخر رد: Finish
  سؤال عن كيفية عرض حقول معينة في dataGridView1 علما اني الاستعلام يكون لجميع الحقول younass 2 153 29-07-18, 05:13 PM
آخر رد: younass
  مشكلة في برنامج مصنوع ب local database Moustafa1979 1 176 12-06-18, 12:53 AM
آخر رد: elgokr
  مساعدة في برنامج يقوم بالتشفير بالقطع الناقص بلغة c# السي شارب abdulaziz yslem 2 252 17-04-18, 05:57 PM
آخر رد: abdulaziz yslem
  [سؤال] كيف اعمل برنامج لانشاء جدول محاضرات Al_bukhyti 0 209 27-03-18, 12:42 PM
آخر رد: Al_bukhyti

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


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