PDA

View Full Version : سوال: مشکل در کد نویسی برای Tab Control



black_mask
جمعه 11 اسفند 1391, 11:15 صبح
با سلام.
می خوام برای هریک از تب هام توی Tab Control یه کد مجزا بنویسم. خواستم برای هر یک از تب هام یه نام خاص بزارم که از طریق اون نام به تب هام دسترسی داشته باشم، ولی با تغییر Name یک تب ، خاصیت Name همه تب ها به این نام تغییر می کند و همه نام ها برابرهم می شوند و وقتی بخواهم توی رویداد Selected اون کد بنویسم، همه لینک های کد به یه جا لینک داده میشه. باید چیکار کنم که به هریک از تب ها به صورت جداگانه به رویداد Selected اون تب دسترسی داشته باشم. از عزیزان خواهش می کنم کمک کنن.

veniz2008
جمعه 11 اسفند 1391, 11:29 صبح
سلام.
شما هر tabpage رو انتخاب کنید یه خاصیت به نام name داره که میتونید تب پیج ها رو نامگذاری کنید و امکان گذاشتن دو نام یکسان برای دو تب پیج وجود نداره.
برای استفاده از هر تب پیج و اینکه هر تب پیج کد خودش رو داشته باشه میتونید از رویداد enter استفاده کنید. یعنی با ورود به اون تب پیج اون کد فعال میشه.

alexmcse
جمعه 11 اسفند 1391, 12:19 عصر
با سلام.
می خوام برای هریک از تب هام توی Tab Control یه کد مجزا بنویسم. خواستم برای هر یک از تب هام یه نام خاص بزارم که از طریق اون نام به تب هام دسترسی داشته باشم، ولی با تغییر Name یک تب ، خاصیت Name همه تب ها به این نام تغییر می کند و همه نام ها برابرهم می شوند و وقتی بخواهم توی رویداد Selected اون کد بنویسم، همه لینک های کد به یه جا لینک داده میشه. باید چیکار کنم که به هریک از تب ها به صورت جداگانه به رویداد Selected اون تب دسترسی داشته باشم. از عزیزان خواهش می کنم کمک کنن.


دیگر نیازی به تغییر نام نیست
این کار راحت است

private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
{
switch (tabControl1.SelectedIndex)
{//0= tabPage1


case 0:
{//insert code
}
break;
//1=tabPage1
case 1:
{//insert code
}
break;

}
}
//یا
private void tabControl1_Selected(object sender, TabControlEventArgs e)
{
switch (tabControl1.SelectedIndex)
{//0= tabPage1


case 0:
{//insert code
}
break;
//1=tabPage1
case 1:
{//insert code
}
break;
}
}

black_mask
جمعه 11 اسفند 1391, 13:17 عصر
دیگر نیازی به تغییر نام نیست
این کار راحت است

private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
{
switch (tabControl1.SelectedIndex)
{//0= tabPage1


case 0:
{//insert code
}
break;
//1=tabPage1
case 1:
{//insert code
}
break;

}
}
//یا
private void tabControl1_Selected(object sender, TabControlEventArgs e)
{
switch (tabControl1.SelectedIndex)
{//0= tabPage1


case 0:
{//insert code
}
break;
//1=tabPage1
case 1:
{//insert code
}
break;
}
}
با سلام و تشکر از جوابتون.
ولی مشکل من اینه که index یه تب یا خاصیت Name اونا وقتی تغییر می دم ، خاصیت Index و Name همه تب هام برابر هم میشند. و همه با هم تغییر می کنند. چرا اینطوریه.؟
چرا جداگانه روی هر تب نمیشه این کار را انجام داد.
آیا ویژوال استادیو من مشکل داره یا اینکه من بلد نیستم. خواهشا کمکم کنید.

alexmcse
شنبه 12 اسفند 1391, 21:13 عصر
عکس ها روببین
هر وقت می خوای اسم تب رو عوض کنی یا تکس
تب رو انتخاب کن سپس روی صفحه تب کلیک کن

http://www.uplooder.net/cgi-bin/dl.cgi?key=1acd3cab2067fdb6a583c40fef54f894


http://www.uplooder.net/img/image/b5c8b6ee2328f157c8c7032f8281a60f/Capture3.JPG

اگر مشکلت حل نشد استودیو را آنیستال کن دو مرتبه نصب کن
کاری داشتی پیام بده