Esempio n. 1
0
        private void ImageListView_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (e.Buttons == MouseButtons.Right)
            {
                ImageListViewItem    item  = e.Item;
                ImageListViewSubItem item2 = item.SubItems["alternative"];

                ContextMenuStrip menu = new ContextMenuStrip();


                string size  = item.SubItems["filesizeFriendly"]?.Text;
                string size2 = item.SubItems["filesize2Friendly"]?.Text;

                menu.Items.Add($"Open ({size}) {item.FileName}", null, (sender, p) => OpenWithDefaultProgram(item.FileName));
                menu.Items.Add("Open folder " + item.FileName, null, (sender, p) => OpenInExplorer(item.FileName));
                menu.Items.Add("Properities", null, (sender, p) => new PropertiesForm(item).Show());

                if (!string.IsNullOrWhiteSpace(item2.Text))
                {
                    menu.Items.Add(new ToolStripSeparator());
                    menu.Items.Add($"Open ({size2}) {item2.Text}", null, (sender, p) => OpenWithDefaultProgram(item2.Text));
                    menu.Items.Add("Open folder " + item2.Text, null, (sender, p) => OpenInExplorer(item2.Text));
                    menu.Items.Add("Properities", null, (sender, p) => new PropertiesForm(new FileInfo(item2.Text)).Show());
                }


                menu.Show(sender as Control, e.Location);
            }
        }
        protected override void OnDrawSubItem(DrawListViewSubItemEventArgs e)
        {
            ImageListViewSubItem item = e.SubItem as ImageListViewSubItem;

            if (item == null)
            {
                e.DrawDefault = true;
                base.OnDrawSubItem(e);
            }
            else
            {
                using (e.Graphics)
                    item.Drawable.Draw(e.Graphics, e.Bounds);
            }
        }