سلام .خسته نباشید دوستان
من دوتا لیست باکس دارم. میخواستم ببینم باید چیکار کنم که وقتی اسکرول لیست اولو حرکت میدم ,اسکرول لیست دومم حرکت کنه.اصلا امکان همچین کاری وجود داره؟
سلام .خسته نباشید دوستان
من دوتا لیست باکس دارم. میخواستم ببینم باید چیکار کنم که وقتی اسکرول لیست اولو حرکت میدم ,اسکرول لیست دومم حرکت کنه.اصلا امکان همچین کاری وجود داره؟
سلام
اینجا رو ببینید
سلام،شما لازم نیست کد بالایی رو متوجه بشید،شما فقط باید از چند خط کد دوم استفاده کنید.
کد بالایی به کلاسه که از ListBox به عنوان کلاس پایه استفاده کرده،شما برای استفاده ازش می تونید یه پروژه از نوع Windows User Control Library بسازید و همه کدهای پیش فرض رو پاک و کدهای مذکور رو جایگزین و کامپایل کنید،به این ترتیپ شما یک کامپوننت به صورت DLL دارید که می تونید در پروژتون اونو Add کنید.بعدشم که توضیح داده 2 تا از اونا رو میندازید رو فرم و اون 2 خط کدی رو که گفته برای رویدادهای OnVertivalScroll شون می نویسید.
روش دومم اینه کلاس مذکور رو بدون کامپایل همینجوری به برنامتون اضافه و با کدنویسی ازش نمونه سازی کنید و اونو به فرموتون اضافه کنید و بقیه ماجرا...
سلام.بازم ممنون از راهنماییتون.من همینکارو کردم.یعنی اول کلاسو به برنامم اضافه کردم بعد کد دوم رو واسه لیست باکسام به صورت زیر نوشتم اما بازم اتفاقی نیوفتاد.
privatevoid listBox1_OnVerticalScroll(object sender, ScrollEventArgs e)
{
listBox2.TopIndex = listBox1.TopIndex;
}
privatevoid listBox2_OnVerticalScroll(object sender, ScrollEventArgs e)
{
listBox1.TopIndex = listBox2.TopIndex;
}
مسئله اینجاس که من وقتی این دوتا تابع رو داخل کلاس لیست باکس که تعریف شده مینویسم لیست باکس هام رو نمیشناسه و وقتی داخل کلاس خود فرم تعریفشون میکنم تا لیستام شناخته بشن ,لیستا شناخته میشن ولی بازم با هم پیمایش نمیشن.حالا باید چیکار کنم؟
یعنی هیشکی نیست به من کمک کنه؟
سلام با این کد میشه توی یه دکمه بنویسیدش ببینید کاری که میخواید انجام میده؟
listBox1.TopIndex = listBox2.TopIndex;
listBox2.TopIndex = listBox1.TopIndex;
یا با این روش که به اعتقاد من بهینه تر و مناسبتره :
if (checkedListBox1.Items.Count > 0)
{
int selected = checkedListBox1.SelectedIndex;
if (checkedListBox1.GetItemChecked(selected) == false)
{
checkedListBox1.SetItemChecked(selected, true);
listBox1.SetSelected(selected, true);
}
else if (checkedListBox1.GetItemChecked(selected) == true)
{
checkedListBox1.SetItemChecked(selected, false);
listBox1.SetSelected(selected, true);
}
}
آخرین ویرایش به وسیله samadblaj : شنبه 10 تیر 1391 در 10:44 صبح