예제 #1
0
        public StrokeProps(Draws drw)
        {
            InitializeComponent();
            // -------------------------------------------------------------------
            cbPattern.Items.Clear();
            cbPattern.Items.AddRange(DrawUtils.GetPenPatternNames()); // получение всех имён доступных типов линий
            cbPattern.SelectedIndex = 1;
            // -------------------------------------------------------------------
            cbWidth.Items.Clear();
            for (int i = 1; i < 61; i++)
            {
                cbWidth.Items.Add(i.ToString());
            }
            // -------------------------------------------------------------------
            cbColor.Items.Clear();
            cbColor.Items.AddRange(DrawUtils.GetAllColorNames()); // получение всех имён доступных цветов
            cbColor.Items.Add("Выбор цвета...");                  // добавление пункта выбора цвета
            cbColor.Text = DrawUtils.GetColorNameFromIndex(LastColorIndex);
            // -------------------------------------------------------------------
            stroke.Assign(drw.Stroke);
            // -------------------------------
            int Index = DrawUtils.ColorToIndex(stroke.Color);

            if (Index < 0)
            {
                DrawUtils.AddCustomColor(stroke.Color);
                cbColor.Items.Insert(cbColor.Items.Count - 1, "Мой цвет");
                Index = cbColor.Items.Count - 2;
            }
            if (Index >= 0)
            {
                cbColor.SelectedIndex = Index;
            }
            // -------------------------------
            tbTrasparent.Value = 255 - stroke.Alpha;
            lbTrasparent.Text  = String.Format("{0} %", (int)(tbTrasparent.Value / 255.0 * 100.0));
            // -------------------------------
            cbWidth.SelectedIndex = (int)stroke.Width - 1;
            // -------------------------------
            if (stroke.DashStyle == DashStyle.Custom)
            {
                cbPattern.SelectedIndex = 0;
            }
            else
            {
                cbPattern.SelectedIndex = (int)stroke.DashStyle + 1;
            }
            // -------------------------------------------------------------------
            cbLineJoin.Items.Clear();
            // получение всех имён доступных типов соединений линий
            cbLineJoin.Items.AddRange(DrawUtils.GetLineJoinNames());
            cbLineJoin.SelectedIndex = (int)stroke.LineJoin;
            // -------------------------------------------------------------------
            cbStartCap.Items.Clear();
            // получение всех имён доступных типов окончаний линий
            cbStartCap.Items.AddRange(DrawUtils.GetLineCapNames());
            cbStartCap.SelectedIndex = (int)stroke.StartCap;
            // -------------------------------------------------------------------
            cbEndCap.Items.Clear();
            // получение всех имён доступных типов окончаний линий
            cbEndCap.Items.AddRange(DrawUtils.GetLineCapNames());
            cbEndCap.SelectedIndex = (int)stroke.EndCap;
        }