ورود

View Full Version : بدست آوردن لیستی از کنترل های موجود در فرم



B.I.O.H.A.Z.A.R.D
دوشنبه 15 اسفند 1390, 10:33 صبح
سلام

میخواستم با یه تابعی کنترل های TextBox فرمم رو بدست بیارم و مقدارشون رو خالی کنم، و همچنین Background اونا رو مشکی کنم. با سرچی که زدم به این تکه کد رسیدم که مایکروسافت گذاشته بود، ولی نمیدونم چطور باید ازش استفاده کنم. ممنون میشم یکی راهنمایی کنه.

// Enumerate all the descendants of the visual object.
static public void EnumVisual(Visual myVisual)
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(myVisual); i++)
{
// Retrieve child visual at specified index value.
Visual childVisual = (Visual)VisualTreeHelper.GetChild(myVisual, i);

// Do processing of the child visual object.

// Enumerate children of the child visual object.
EnumVisual(childVisual);
}
}

myVisual.GetType رو که میزنم میتونم کنترل TextBox رو از بقیه جدا کنم، ولی نمیدونم چطوری خصوصیاتشون رو تغییر بدم!!

مهدی فرزاد
دوشنبه 15 اسفند 1390, 11:41 صبح
سلام

کد رو به این شکل تغییر بدید

static public void EnumVisual(Visual myVisual)
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(myVisual); i++)
{
// Retrieve child visual at specified index value.
Visual childVisual = (Visual)VisualTreeHelper.GetChild(myVisual, i);

// Do processing of the child visual object.

// Enumerate children of the child visual object.
if (childVisual is TextBox)
{
(childVisual as TextBox).Text = "";

}
else
{
EnumVisual(childVisual);
}
}
}

این کد الان تمام تکس باکس های فرمت رو خالی میکنه
برای فراخونیش هم بنویس

EnumVisual(this);