PDA

View Full Version : نحوه ي نمايش Icon در كنترل ListView



Sajjad.Aghapour
جمعه 03 خرداد 1387, 19:41 عصر
سلام....
یه مشکل خیلی کوچولو
یه ListView دارم که می خوام هر آیتمی از اون ایکون مخصوص به خودش رو داشته باشه.از imagelist هم استفاده کردم ولی نشد......
ممنون اگه راهنمایی کنید........

Mahdi.Kiani
جمعه 03 خرداد 1387, 20:03 عصر
چرا نشد؟
مشکل چیه؟

listView دارای دو حاصیت LargImageList و SmallImageList هست که بر اساس نوع مقداری که برای خاصیت View به کار می برید، خر یک از این ها مورد استفاده قرار میگیره
هر Item نیز خواص ImageIndex و ImageKey داره که توسط آن ها می تونین عکس خود را از ImageList انتخاب کنید

Sajjad.Aghapour
جمعه 03 خرداد 1387, 21:17 عصر
بله ببخشید آقای کیانی.چون با کد imagelist رو پر کرده بودم یادم رفته بود imageIndex رو مقدار بدم.
حالا یه مشکل تازه:


ListViewGroup group = new ListViewGroup("group_1", "string type");
listView1.Groups.Add(group);

ولی Header همیشه برابر default ه.چه کارش کنم؟؟؟

Mahdi.Kiani
جمعه 03 خرداد 1387, 21:32 عصر
بله ببخشید آقای کیانی.چون با کد imagelist رو پر کرده بودم یادم رفته بود imageIndex رو مقدار بدم.
حالا یه مشکل تازه:


ListViewGroup group = newListViewGroup("group_1", "string type");
listView1.Groups.Add(group);
ولی Header همیشه برابر default ه.چه کارش کنم؟؟؟

خاصیت Group مربوط به همه آیتم ها را باید تنظیم کنید
در صورتی که حتی یک آیتم مشخض نباشد که مربوط به کدام Group است، یک Group پیش فرض با نام Default ایجاد می شود و آن آیتم در آن گروه قرار خواهد گرفت. ولی به محض اینکه تمامی آیتم های شما مشخص شوند که مربوط به کدام گروه هستند، دیگر گروه Default نمایش داده نخواهد شد
موفق باشید

Sajjad.Aghapour
شنبه 04 خرداد 1387, 20:52 عصر
سلام دوستان........
به دلیل کابرد زیاد ListView و اشکالاتی که در اون ممکنه وجود داشته باشه و با هماهنگی با مدیریت بخش قرار شد اشکالات دوستان (البته اگه وجود داشته باشه...)در همین تاپیک پرسیده بشه........
دوستان هرکی می تونه کمک کنه.....
ممنون......

Sajjad.Aghapour
شنبه 04 خرداد 1387, 22:25 عصر
سلام.....
چگونگی تخصیص ContextMenuStrip های مجزا برای هر آیتم به طوریکه Context ی که برای محیط خالی ListView هم تعریف میشه با آیتم ها فرق داشته باشه؟؟؟......

علیرضا مداح
دوشنبه 06 خرداد 1387, 10:06 صبح
سلام سجاد جان ؛
شما میتوانید از متد HitTest مربوط به شیء ListView استفاده نمایید که به عنوان ورودی یک شیء Point را دریافت میکند و مقدار بازگشتی آن شیءی از نوع ListViewHitTestInfo میباشد که بیان میکند نقطه مورد نظر نشانگر کدامیک از Itemها یا SubItem های ListView میباشد، به مثال زیر توجه کنید :


private void listView1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
ListViewHitTestInfo hitInfo = listView1.HitTest(e.Location);
if (hitInfo.Item == listView1.Items[0])
contextMenuStrip1.Show(listView1, e.Location);
else if (hitInfo.Item == listView1.Items[1])
contextMenuStrip2.Show(listView1, e.Location);
}
}