PDA

View Full Version : رسم خط بین دو کنترل با امکان جابجایی



bahar_engineer
شنبه 21 آذر 1388, 11:52 صبح
سلام می خوام بین دو تا کنترل مثلا picturebox یا panel خط رسم کنم به شکلی که با حرکت دادن اون کنترل ها خط هم حرکت کنه ... یعنی سایزش تغییر کنه

کسی راه حلی داره؟

shask00l
شنبه 21 آذر 1388, 12:11 عصر
با این مفهوم توی برنامه ی رسم مدار برخورد کردم . اونجا اینجوری بود که برای هر قطعه یه usercontrol تعریف میشد + به تعداد پایه های اون قطعه property . حالا فرض کن که دوتا گیت and رو گذاشتیم کنار هم و خروجی اولی رو به ورودی A دومی وصل کردیم . از بحث محاسبه جواب که بگذریم میمونه بحث حرکت و رسم سیم. این کار بوسیله یه بخش مدیریتی توی برنامه انجام میشد . به این صورت که وقتی اتصال ایجاد میشه اون بخش اونو ثبت میکنه . به عنوان مثال خروجی گیتand1 رو به ورودی بعدی . ضمنا باید مختصات خطی که رسم میشه رو هم ذخیره کنه .حالا جای هر وسیله ای رو که تغییر بدیم کافی تابع رسم بخش مدیریت رو دوباره فراخوانی کنیم تا سیم های جدید رو رسم کنه .

البته به همین آسونی نیست . یه خورده ریزه کاری داره .
امیدوارم کمک کرده باشم :لبخندساده:

bahar_engineer
شنبه 21 آذر 1388, 12:47 عصر
با این مفهوم توی برنامه ی رسم مدار برخورد کردم . اونجا اینجوری بود که برای هر قطعه یه usercontrol تعریف میشد + به تعداد پایه های اون قطعه property . حالا فرض کن که دوتا گیت and رو گذاشتیم کنار هم و خروجی اولی رو به ورودی A دومی وصل کردیم . از بحث محاسبه جواب که بگذریم میمونه بحث حرکت و رسم سیم. این کار بوسیله یه بخش مدیریتی توی برنامه انجام میشد . به این صورت که وقتی اتصال ایجاد میشه اون بخش اونو ثبت میکنه . به عنوان مثال خروجی گیتand1 رو به ورودی بعدی . ضمنا باید مختصات خطی که رسم میشه رو هم ذخیره کنه .حالا جای هر وسیله ای رو که تغییر بدیم کافی تابع رسم بخش مدیریت رو دوباره فراخوانی کنیم تا سیم های جدید رو رسم کنه .

البته به همین آسونی نیست . یه خورده ریزه کاری داره .
امیدوارم کمک کرده باشم :لبخندساده:

یه نمونه ازش دارین برای من بذارین ؟ یا همون برنامه رسم مدار رو؟ اگه بذارین خیلی کمک کردین
کارم فوریه امشب باید هر طوری شده سر و تهشو به هم بیارم فردا صبح ساعت 7 تحویل بدم

shask00l
یک شنبه 22 آذر 1388, 12:57 عصر
من سورس این برنامه رو ندارم . یه بنده خدایی تو دانشگاه داشت روش کار میکرد . اون هم همین سوال رو پرسیده بود . بعد نشستیم با همدیگه ایده دادیم . رسید به اینجا . اگر دوست دارید میتونیم بیشتر توضیح بدم .

پ.ن : یه نگاهی به اینا بنداز

http://www.codeproject.com/KB/cs/Org_Chart_Generator.aspx
http://www.codeproject.com/KB/openGL/CircuitEngine.aspx

البته این لینک آخری خیلی خفنه . بهتره فقط به نحوه ذخیره سازی و اتصال توجه کنی.