View Full Version : سوال: ایجاد فوکوس در ابزار tabControl
pedramfj
پنج شنبه 04 آذر 1389, 17:11 عصر
سلام
من روی فرم از ابزار tabControl استاده کردم و 2 تا سربرگ هم داره .
حالا می خواهم با عوض شدن سربرگ ها فوکوس بر روی کنترل دلخواه قرار بگیره(در هر سربرگ).
تشکر...
alishokr
پنج شنبه 04 آذر 1389, 17:38 عصر
سلام .
منظورتون این هست که ، در داخل هر تب کنترلی هست که میخواید اون کنترل فوکوس رو بگیره ؟
اگه این طور هست ، در داخل ایونت Selected ، تب کنترل ... به صورت زیر عمل کنید :
private void tabControl1_Selected(object sender, TabControlEventArgs e)
{
e.TabPage.Controls.Cast<Control>().First(x => (string) x.Tag == "Default").Select();
}
برای اینکه این روش جواب بده ، شما در داخل هر تب ، به پراپرتی Tag کنترلی که میخواید به عنوان پیش فرض فوکوس رو بگیره مقدار Default(یا هر مقدار دیگه ای که مدنظرتون هست) بدید و با کد بالا اون کنترل رو انتخاب کنید .
مسلما این تنها روش نیست و بهترین روش هم نیست .
با آرزوی موفقیت .
pedramfj
پنج شنبه 04 آذر 1389, 18:18 عصر
e.TabPage.Controls.Cast<Control>().First(x => (string) x.Tag == "Default").Select();
[/code]
ممنون دوست عزیز.
از کد خطا میگیره.
من خودم نتوانستم کد را در داخل ایونت Selected بنویسم.
alishokr
پنج شنبه 04 آذر 1389, 19:25 عصر
ممنون دوست عزیز.
از کد خطا میگیره.
من خودم نتوانستم کد را در داخل ایونت Selected بنویسم.
چه خطایی میده ؟
pedramfj
پنج شنبه 04 آذر 1389, 19:30 عصر
ممنون.
در جاهایی که با رنگ قرمز مشخص کردم .
(x => (string) x.Tag == "Default")
همانطور که شما گفتید در ایونت Selected نوشتم.
ولی انگار که در یک ایونت دیگر نوشته شده؟؟؟
alishokr
پنج شنبه 04 آذر 1389, 20:27 عصر
آیا using System.Linq رو در ابتدای صفحه اضافه کردید ؟
pedramfj
جمعه 05 آذر 1389, 14:31 عصر
من از vs2005 استفاده می کنم.
:متفکر:
ممنون.
alishokr
جمعه 05 آذر 1389, 18:08 عصر
سلام.
کد رو با یه Foreach مینویسیم:
foreach (Control c in e.TabPage.Controls)
{
if (c.Tag != null && c.Tag.ToString() == "Default")
{
c.Select();
break;
}
}
با آرزوی موفقیت ...
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.