Ejemplo n.º 1
0
        private void propGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        {
            // обновление наименования изображения
            if (e.ChangedItem.PropertyDescriptor.Name == "Name")
            {
                string oldName = (string)e.OldValue;
                string newName = (string)e.ChangedItem.Value;

                if (oldName != newName)
                {
                    // изменение наименования изображения
                    ImageListItem imageInfo = propGrid.SelectedObject as ImageListItem;
                    imageInfo.Image.Name = newName;

                    // обновление словаря изображений схемы
                    images.Remove(oldName);
                    images[newName] = imageInfo.Image;

                    // обновление списка изображений на форме
                    lbImages.SelectedIndexChanged -= lbImage_SelectedIndexChanged;
                    lbImages.BeginUpdate();
                    lbImages.Items.RemoveAt(lbImages.SelectedIndex);
                    lbImages.SelectedIndex = lbImages.Items.Add(imageInfo);
                    lbImages.EndUpdate();
                    lbImages.SelectedIndexChanged += lbImage_SelectedIndexChanged;

                    // отслеживание изменений
                    observableItem.OnItemChanged(SchemeChangeTypes.ImageRenamed, imageInfo.Image, oldName);
                }
            }
        }
Ejemplo n.º 2
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            // разбор текста и заполнение фильтра по каналам
            cnlFilter.ParseCnlFilter(txtCnlNums.Text);

            // отслеживание изменений
            observableItem.OnItemChanged(SchemeChangeTypes.SchemeDocChanged, observableItem);

            DialogResult = DialogResult.OK;
        }