سلام دوستان
من با یک مشکل مواجه شدم . دارم یک OCX می نویسم که در واقع یک فرم است با ظاهری زیبا این ابزار وقتی روی فرمی گذاشته میشه باید بعضی از خصوصیات اونو عوض کنه (مثل Border Styl) . با رویدادهای AMBIENT و Extender هم به جایی نرسیدم . اگه لطف کنید ممنون میشم .
این سوال رو چندین جا پرسیدم به جواب نرسیدم.
آخرش خودم داشتم برنامه مینوشتم. داشتم دنبال یه چیز دیگه هم میگشتم اینو پیدا کردم. فکر کنم دیروز یا پریروز پیداش کردم.
UserControl.Parent
میشه همون فرمی که UserControl توشه.
بعد مینویسی مثلا : UserControl.Parent.BackColor
backcolor فرم رو برمیگردونه و حتی میتونی تغییر بدی.
فقط وقتی داری برنامه رو مینویسی چون یوزر کنترلت توی فرمی نیست نشون نمیده که فرمه. باید از حفظ بنویسی. یعنی مثلا B رو بزنی Backcolor رو نشون نمیده.
دمت گرم منم نوک زبونم بودا اما خودت گفتی
سلام
البته كه راه درستي است براي تغيير دادن خصوصيات parent
اما اگر شما اين اكتيو ايكس رو مثلا در وي سي يا دلفي يا هر جاي ديگه ببريد به مشكل برمي خوريد و كنترلتون مي شكنه. اگر اين كنترل فقط براي vb نوشته بشه مشكلي نخواهد داشت.
تمامي كنترلها داراي يك خصوصيت به نام extender هستند كه از طريق اون مي تونيد به خصوصيات مشترك تمامي پرنتهاي ممكن براي يك شي دسترسي داشته باشيد