2015-11-28 4 views
-1

Я пытаюсь изменить цвет моего пера и твердой кисти.Как изменить цвет пера в C#?

Я жестко закодировал их, но теперь я хотел бы знать, как сделать только одно перо и изменить цвет на любой цвет, который я хочу, используя графический интерфейс (выпадающий список, цветовая палитра и т. Д.).

Вот мой закодированы:

private void imageComboBox_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     // create graphics object, Pen and SolidBrush 
     Graphics myGraphics = base.CreateGraphics(); 

     // create Pen using different colors 
     Pen myPen = new Pen(Color.DarkRed); 
     Pen myPen2 = new Pen(Color.Blue); 
     Pen myPen3 = new Pen(Color.Purple); 
     Pen myPen4 = new Pen(Color.DarkGreen); 

     // create SolidBrush using color DarkRed 
     SolidBrush mySolidBrush = new SolidBrush(Color.DarkRed); 
     SolidBrush mySolidBrush2 = new SolidBrush(Color.Orange); 
     SolidBrush mySolidBrush3 = new SolidBrush(Color.Blue); 
     SolidBrush mySolidBrush4 = new SolidBrush(Color.Green); 

     // clear drawing area setting it to color white 
     myGraphics.Clear(Color.White); 

     // find index, draw proper shape 
     switch (imageComboBox.SelectedIndex) 
     { 
      case 0: // case Circle is selected 
       myGraphics.DrawEllipse(myPen, 50, 50, 150, 150); 
       break; 
      case 1: // case Rectangle is selected 
       myGraphics.DrawRectangle(myPen2, 50, 50, 150, 150); 
       break; 
      case 2: // case Ellipse is selected 
       myGraphics.DrawEllipse(myPen3, 50, 85, 150, 115); 
       break; 
      case 3: // case Pie is selected 
       myGraphics.DrawPie(myPen4, 50, 50, 150, 150, 0, 45); 
       break; 
      case 4: // case Filled Circle is selected 
       myGraphics.FillEllipse(mySolidBrush, 50, 50, 150, 150); 
       break; 
      case 5: // case Filled Rectangle is selected 
       myGraphics.FillRectangle(mySolidBrush2, 50, 50, 150, 
        150); 
       break; 
      case 6: // case Filled Ellipse is selected 
       myGraphics.FillEllipse(mySolidBrush3, 50, 85, 150, 115); 
       break; 
      case 7: // case Filled Pie is selected 
       myGraphics.FillPie(mySolidBrush4, 50, 50, 150, 150, 0, 
        45); 
       break;} 
     myGraphics.Dispose(); // release the Graphics object 
    } 
+0

Почему вы создаете четыре ручки, если используете только один из них? И разве вы не должны «уничтожать» их? – CompuChip

ответ

0

Вы можете изменить цвет Pen используя Color свойство Pen как это:

Pen p = new Pen(); 
p.Color = Color.Red; 

Затем вы можете использовать p.Color = ... в каждом конкретном случае и используйте ту же ручку.

Смежные вопросы