PDA

View Full Version : سوال: محدود كردن حركت فرم



RezaS_1354
سه شنبه 05 آذر 1387, 19:08 عصر
سلام
دوستان چطور ميشود با دو فرم مثلا (Form1, Form2) فرم 1 بعنوان فرم مادر كه بزرگتر است ولي توجه كنيد در حالت ماكزيمم نيست و فرم دو سايزش يك چهارم فرم 1 است و مثل يك فرم Child عمل ميكند من ميخواهم محدوده حركت فرم 2 به اندازه سايز فرم يك باشد و از ان فراتر نرود البته يك dll براي اينكار دارم ولي چون نميخواهم از ان استفاده كنم به دلايلي بخاطر همين لطفا اگر امكان دارد از Ocx و dll استفاده نشود ناگفته نماند من نميخواهم از Mdiform استفاده كنم چون اون بصورت طبيعي اينكار را انجام مي دهد
اگر امكان دارد سورس يا يك لينك مرحمت كنيد
با سپاس :چشمک:

shask00l
سه شنبه 05 آذر 1387, 20:18 عصر
برای انجام این کار باید اول اندازه و مختصات فرم مادر رو بدست بیاری . بعد از بدست اوردن این چیزا کد مربوط به چک کردن جای فرم 2 رو توی رویداد move فرم 2 بنویس . به این صورت که .

اول مختصات فعلی فرم 2 رو توی 1متغییر ذخیره میکنی.
اگر بعد از move مختصات فرم 2 خارج از فرم مادر بود در اون صورت اونو به مختصات اول بر میگردونی .

حواست باشه برای رویداد resize هم کدی مثل این بنویسی .

موفق باشی

RezaS_1354
پنج شنبه 07 آذر 1387, 21:25 عصر
دوست عزيز ممنون
من يك dll دارم كه اينكار را بخوبي انجام ميدهد ولي همانطور كه گفتم نميخواهم از ان استفاده كنم اگر منظور شما را متوجه شده باشم وقتي فرم2 از مختصات فرم 1 خارج شد بلافاصله برميگردد سرجاش درست ميگم
حالا اين dll كه دارم اصلا اجازه بيرون رفتن فرم 2 را از مختصات فرم 1 نميدهد و محدوده حركت فرم 2 در طول و عرض فرم 1 است دقيقا مثل mdiform و فقط با اين تفاوت كه اسكرولي در فرم مادر همان فرم 1 نيست و اصلا احتياجي هم ندارد
نميدانم منظورم را توانستم برسانم يا نه ؟ بهر حال اگر محبت كني يك مثال يا يك لينك به من معرفي كني ممنونت ميشوم خيلي كارم لنگه
با سپاس رضا

shask00l
پنج شنبه 07 آذر 1387, 21:57 عصر
متاسفانه من مدتهاست که vb رو ترک کردم و با .net کار میکنم . اگه میخای میتونم تو .net برات مثال بزنم .

ضمنا من ساده ترین و قابل فهم ترین روش رو مطرح کردم . اگه تصمیم دارید روشهای دیگه رو هم امتحان کنید فکر میکنم باید از api کمک بگیرید . به سایت andreavb.com یه سری بزن.