示例#1
0
        private void EditTags(DataGridViewRow rw)
        {
            List <string> Dickeys = new List <string>(EDDConfig.Instance.CaptainsLogTagImage.Keys);

            Dickeys.Sort();
            List <Tuple <string, string, Image> > options = (from x in Dickeys select new Tuple <string, string, Image>(x.ToString(), x.ToString(), EDDConfig.Instance.CaptainsLogTagImage[x])).ToList();

            ExtendedControls.CheckedIconListBoxFormGroup cfs = new ExtendedControls.CheckedIconListBoxFormGroup();
            cfs.AllOrNoneBack = false;      // we want the whole list, makes it easier.
            cfs.SaveSettings += TagsChanged;
            cfs.AddAllNone();
            cfs.AddStandardOption(options);

            List <string> curtags = rw.Cells[4].Tag as List <string>;     // may be null
            string        taglist = curtags != null?string.Join(";", curtags) : "";

            System.Diagnostics.Debug.WriteLine("Cur keys" + curtags);

            Point loc = dataGridView.PointToScreen(dataGridView.GetCellDisplayRectangle(4, rw.Index, false).Location);

            cfs.Show(taglist, loc, this.FindForm(), tag: rw);
        }