2015-11-28 38 views
-1

我想改變我的筆和純色筆的顏色。如何更改c#中筆的顏色?

我硬編碼它們,但現在我想知道如何只使用一支筆,並使用GUI(下拉列表,調色板等)將顏色更改爲任何顏色。

這裏是我的編碼:

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 = ...並使用同一支筆。