Beispiel #1
0
        //При перерисовке в StatusBar
        private void StatusBar_DrawItem(object sender, StatusBarDrawItemEventArgs sbdevent)
        {
            Graphics G = StatusBar.CreateGraphics();        //Объект для рисования прямоугольников в строке состояния

            //Подписи для обозначения выбранных цветов
            G.DrawString("Цвет 1:", new Font(this.Font, FontStyle.Regular),
                         new SolidBrush(Color.Black), statusBarPanelCursor.Width + 5, 7);
            G.DrawString("Цвет 2:", new Font(this.Font, FontStyle.Regular),
                         new SolidBrush(Color.Black), statusBarPanelCursor.Width + 5 + statusBarPanelColor1.Width, 7);

            int range = 50; //Перемення для расположения прямоугольников

            //Рисование индикаторов цвета
            G.FillRectangle(new SolidBrush(LineColor), Rectangle.FromLTRB(StatusBar.Panels[0].Width + range, 2,
                                                                          StatusBar.Panels[0].Width + range + 20, 22));
            G.DrawRectangle(new Pen(Color.Black, 1), Rectangle.FromLTRB(StatusBar.Panels[0].Width + range, 2,
                                                                        StatusBar.Panels[0].Width + range + 20, 22));

            G.FillRectangle(new SolidBrush(BackgroundColor),
                            Rectangle.FromLTRB(StatusBar.Panels[0].Width + StatusBar.Panels[1].Width + range, 2,
                                               StatusBar.Panels[0].Width + StatusBar.Panels[1].Width + range + 20, 22));
            G.DrawRectangle(new Pen(Color.Black, 1),
                            Rectangle.FromLTRB(StatusBar.Panels[0].Width + StatusBar.Panels[1].Width + range, 2,
                                               StatusBar.Panels[0].Width + StatusBar.Panels[1].Width + range + 20, 22));
            //вывод толщины линии
            statusBarPanelWidth.Text = LineWidth.ToString();
        }