PDA

View Full Version : سوال: تغییر base point در یک کنترل



pooya1072
سه شنبه 27 مرداد 1394, 00:21 صبح
سلام
همانطور که همه دوستان میدونند وقتی یک کنترل را به یک فرم اضافه میکنیم (مثلا یک تکست باکس) , اون کنترل در یک مختصاتی از فرم که ما مشخص میکنیم قرار میگیره . من فرض کردم قسمتی از این کنترل که مرکز ثقل کنترل هست در مختصات مشخص شده از فرم قرار میگیره و base point نام داره . در حالت عادی این نقطه در سمت چپ کنترل قرار داره . میخوام بدونم آیا راهی هست که این base point را سمت راست کنترل قرار بدیم. فایده این کار برای من در هنگام ایجاد کنترل به صورت دینامیکه که بخوام چند کنترل رو به صورت پویا ایجاد و از سمت راست Align کنم .

pooya1072
سه شنبه 27 مرداد 1394, 18:56 عصر
سلام مجدد ، از اینکه هنوز جوابی نگرفتم به این نتیجه رسیدم که حتما سوالم گنگ و نا مفهومه . فرض کنید فرمی داریم که قراره 5 تا ليبل دینامیک به صورت زیر قرار بگيره :
نام :
نام خانوادگی :
کد ملي :
شماره شناسنامه :
نام پدر :
در مقابل هر کدام هم مثلا یک تکست باکس اونهم به صورت دینامیک ایجاد میشه . چطور این ليبل ها را که در زمان اجرای برنامه ایجاد میشن (به اصطلاح runtime ) از سمت راست تراز کنم ،بهتر بگم این پنج ليبل را Right Align کنم؟
اگه قرار بود متن ليبل ها انگلیسی باشه مشکلی نبود ، فقط مختصات قرار گیری در فرمشون را تنظیم میکردم ، ولی برای زبانهای راست به چپ این مشکل وجود داره .

mehdi.safavie
سه شنبه 27 مرداد 1394, 19:20 عصر
پویا جان منظورت اینه که وقتی میخوای تراز کنیشون از سمت راست تو یه راستا باشن نه از سمت اون دو نقطه آخر ، درسته ؟
اگه منظورت اینی که گفتمه این کار رو کن .
اول باید یکی از Label ها رو بزاری و با توجه به اون بقیه رو تراز کنی .
بر فرض مثال شما Label1 رو مختصات دادی ، حالا بقیه رو اینطوری تراز کن :


Dim x As Integer
'motaghayere x faseleye beyne 2 Label hast
Label2.Top = Label1.Top + Label1.Height + x
Label2.Left = Label1.Left + (Label1.Width - Label2.Width)