PDA

View Full Version : بالاتر قرار گرفتن یک کنترل در runtime



choobin84
سه شنبه 28 اسفند 1386, 21:15 عصر
چطوری یک کنترل مثلا یک label رو در حالت اجرا بالاتر از یک label دیگه قرار بدم؟

bad_boy_2007
سه شنبه 28 اسفند 1386, 23:13 عصر
چطوری یک کنترل مثلا یک label رو در حالت اجرا بالاتر از یک label دیگه قرار بدم؟


item.BringToFront()
item.SendToBack()

saman_itc
چهارشنبه 29 اسفند 1386, 00:33 صبح
این کارو با Hide و Show هم میشه کرد؟!!!!!!!

choobin84
چهارشنبه 29 اسفند 1386, 06:42 صبح
این کارو با Hide و Show هم میشه کرد؟!!!!!!!
هیچ کنترلی قرار نیست مخفی بشه.

choobin84
چهارشنبه 29 اسفند 1386, 06:47 صبح
item.BringToFront()
item.SendToBack()

این کد درسته ، اما ، مطلوب اینه که مثلا اگر سه تا از کنترل ها روی هم قرار گرفته اند ، کنترل زیری فقط یک مرحله بالا بیاد، نه اینکه روی هر دو تا کنترل قرار بگیره.

VB.NET2005
چهارشنبه 29 اسفند 1386, 07:19 صبح
دوستان عزیز چه طوری میشه در حالت Run Time خودمون محل کنترل رو بدیم .

choobin84
چهارشنبه 29 اسفند 1386, 08:52 صبح
دوستان عزیز چه طوری میشه در حالت Run Time خودمون محل کنترل رو بدیم .


lbl.Location = new Point(x, y);

bad_boy_2007
چهارشنبه 29 اسفند 1386, 12:00 عصر
هر فرم شامل یک آرایه از کنترلها است که برای دسترسی به این آرایه میتونید از دستور زیر استفاده کنید :


For Each Control In Me.Controls
Control.SendToBack()
Next


دستور فوق هر کنترل در لیست کنترلها رو یک واحد پایین میبره درست مثل یک صف حلقوی که اولین نفر صف خارج و به ته صف افزوده میشه .

برای اینکه کنترل رو به مکان خاصی غیر از ابتدا یا انتهای لیست ، مثلا وسط لیست منتقل کنید میتونید از دستوری مشابه دستور زیر استفاده کنید :



Me.Controls.SetChildIndex(Me.CheckBox1, 1)


دستور فوق کنترلی با نام CheckBox1 را به دومین مکان لیست یعنی عنصر 1 آرایه (آرایه از اندیس 0 شروع میشود) منتقل میکند

choobin84
چهارشنبه 29 اسفند 1386, 13:53 عصر
بسیار بسیار ممنونم.
اگر پست بالا رو نزده بودید، از همون حلقه foreach و یکسری کد (البته غیر استاندارد و شبیه به ماست مالی) مجبور بودم استفاده کنم.