الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في ACTIVE SKINS

مغلق
بدأه VIPER_HEAD في 6 أبريل 2005 · 11 رد · 1,999 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخواني الأعذاء قمت بوضع SKINS علي FORM

ولكنني عندما قمت بعمل RUN وجدت أن SKINS قد غطت الفورم فقط ولم تغطي الأظرار كما ترون في الصورة المرفقة

SKINS.jpg

علما بأن الشكل المفروض أن يكون عليه الزر بعد وضع الSKINS هو الشكل التالي وقد قمت بتصميمه باستخدام VB6

BUTTON.jpg

فأرجو أن تدلوني كيف يمكن أن أقوم بتحميل الSKINS بحيث تغطي كل النموذج وليس الفورم فقط

وإليكم الكود الذي كتبته لأقوم بتحميل ال SKINS

private void Form1_Load(object sender, System.EventArgs e)
  {
 	 axSkin1.LoadSkin ("C:\\CHIZH.SKN");
 	 axSkin1.ApplySkin (this.Handle.ToInt32 ());
  }
#2
skin.ApplySkin((int)this.Handle);
 	 skin.ApplySkinByName((int)btnFirstLook.Handle, "Button");

يجب ان تستخدم الMethod

skin.ApplySkinByName(int handle, object controlType)

و ضع في الObjectType نوع الControl

Button, Fram, TextBox, Label ...etc

ايضا يجب استخدام هذه ال Method مع كل Control في ال Form

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#3

شكرا أخي العزيز علي المساعدة وسأقوم بجربة الكود فورا :D

#4

أخواني الأعزاء مازالت المشكلة قائمة حتي بعد تصليح الكود ولكن كل الكائنات تأخذ لون ال skins بشكل أوتوماتيكي ما عدا الزر ولا أعرف السبب وهذا هو شكل الكود بعد الأضافات

private void Form1_Load(object sender, System.EventArgs e)
  {
 	 axSkin1.LoadSkin ("C:\\CHIZH.SKN");
 	 axSkin1.ApplySkin ((int)this.Handle );
 	 axSkin1.ApplySkinByName((int) Handle , "button1");
  }

أرجو المساعدة حتي أستطيع أن أجعل الزر يأخذ لون ال skins

#5

يا ابني انت غيرت الكود ليه

لما تعمل ApplySkinByName ماتغيرش الName باسم كل Button انت بتبعت الButton Object Handle و تكتب "Button" مع كل ال Buttons

skin.ApplySkin((int)this.Handle);
  skin.ApplySkinByName((int)btnFirstLook.Handle, "Button");

ما تغيرش الString اللي مكتوب فيه Button

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#6
لما تعمل ApplySkinByName ماتغيرش الName باسم كل Button انت بتبعت الButton Object Handle و تكتب "Button" مع كل ال Buttons

يا أخي الفاضل

إذا لم أغير ال String باسم الزر سيظهر علي الفورم التأثير الخاص بالزر بدل من أن يظهر علي الزر

 skin.ApplySkinByName((int)btnFirstLook.Handle, "Button");

أما عندما أجرب السطر السابق فتظهر الرسالة الأتية

The type or namespace name 'btnFirstLook' could not be found

علي العموم سأقوم بتحميل المشروع الذي أعمل عليه ومعه ملف الSkins إذا أردت أن تجرب الكود بنفسك ربما يكون لديك بعض الأضافات

Active Skins Test.rar

CHIZH.rar

#7
 skin.ApplySkinByName((int)btnFirstLook.Handle, "Button");

انت تغير بس اسم ال Button اللي عاوز تعمل ApplySkin عليه

يعني لو عندك Button اسمه MyButton حيبقى الكود كده

 skin.ApplySkinByName((int)MyButton.Handle, "Button");

لو عندك Button اسمه MyButton2 حيبقى الكود كده

 skin.ApplySkinByName((int)MyButton2.Handle, "Button");

اظن انت كده فهمت

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#8

أخواني الاعزاء هذا الموضوع يهمني ولدي فية سؤالين:

السؤال الاول:

عندما حاولت عمل Skin أو تلبيس لبعض الكائنات مثل (CheckBox , TabControl ) لم يكن يتأثر حتى بعد كتابة التعليمة التي أعطاها الباش مهندس والتعليمات التي كتبتها كالتالي:

axSkin2.ApplySkinByName((int)checkBox1.Handle,"CheckBox");
 	 axSkin2.ApplySkinByName((int)tabControl1.Handle,"TabControl");
 	 axSkin2.ApplySkinByName((int)tabPage1.Handle,"TabPage");
 	 axSkin2.ApplySkinByName((int)tabPage2.Handle,"TabPage");
 	 axSkin2.ApplySkinByName((int)tabPage3.Handle, "TabPage");

السؤال الثاني :

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

Trial vertion of activeskin control

كيف أتخلص منها.

وشكرا

تم تعديل هذه المشاركة بواسطة kathy في 29 أبريل 2005 في 19:28

#9

هل أستنتج أنه لا يوجد حل.

#10

بالنسبة لل TabControl فهو لن يعمل لانه لم يكن يعمل بشكل جيد اساسا على ال VB الا مع نوع واحد فقط من ال Tab و هو النوع القديم جدا و الذي كان لا يحتوي على TabPage و كان يجب عليك ان تخفي ال Controls و تظهرها تبعا للTab الذي ضغط عليه الUser بنفسك عن طريق استخدام ال Panels

اما بالنسبة لGroupBox فانه يعمل و لكن يجب عليك ان تكتب كلمة Frame بدلا من GroupBox في الApplySkinByName

و اعتقد ان الCheckBox يعمل بشكل طبيعي و لا اعرف لماذا لم يعمل معك

على العموم فان استخدام ActiveSkin مع الdot net ليس مستقر و يسبب مشاكل كثيرة لانه صمم خصيصا للتعامل مع ال VB و حتى حين حاولت استخدامه مع VC++6 سبب لي الكثير من المشاكل مع ال MFC

حاول ان تحصل على Library اخرى تقوم بعملها نظرا لان هذه ال Library تةقف انتاجها و تطويرها منذ اكثر من عامين

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#11

إلي الأخ kathy بالنسبة للرسالة التي تظهر لك Trial vertion of activeskin control

يمكنك أن تتخلص منها عن طريق أستبدال activeskin control التي تستخدمها في أحد الردود الخاصة بي في تلك الصفحة ستجد المشروع الذي كنت أعمل عليه وهو يحتوي علي activeskin control يمكنك أستخدامها ولن تواجه مشاكل معها

شكر خاص جدا للزميل bashmohandes علي المساعدة

#12

bashmohandes وVIPER_HEAD شكراعلى الرد.

هذا الموضوع مغلق.

مواضيع مشابهة