2013-09-09 2 views
0

브러시/펜 색상을 선택하면 색인이 변경되어야합니다. 간단한 수정이 필요하지만 필독합니다.콤보 박스로 브러시 색상 변경

public partial class Form1 : Form 
{ 
    private bool penDown = false; 
    private int radius = 5; 

    private SolidBrush brush = new SolidBrush(Color.IndianRed); 
    private Color[] colors = { Color.IndianRed, Color.Blue, Color.Green, Color.Yellow, Color.Purple}; 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void btnClr_Click(object sender, EventArgs e) 
    { 
     Graphics g = panel1.CreateGraphics(); 
     g.Clear(panel1.BackColor); 

     g.DrawImage(panel1.BackgroundImage, panel1.ClientRectangle, 0, 0, panel1.BackgroundImage.Width, 
      panel1.BackgroundImage.Height, GraphicsUnit.Pixel); 
     g.Dispose(); 
    } 

    private void btnQuit_Click(object sender, EventArgs e) 
    { 
     base.Close(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 

    } 

    private void panel1_MouseMove(object sender, MouseEventArgs e) 
    { 
     if (!penDown) 
     { 
      return; 
     } 
     Graphics g = panel1.CreateGraphics(); 
     g.FillEllipse(brush, new Rectangle(e.X - radius, e.Y - radius, 2 * radius, 2 * radius)); 

     g.Dispose(); 
    } 

    private void panel1_MouseDown(object sender, MouseEventArgs e) 
    { 
     penDown = true; 
    } 

    private void panel1_MouseUp(object sender, MouseEventArgs e) 
    { 
     penDown = false; 
    } 

    private void colorCB_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     //int i = ((color 
    } 
} 
+0

'브러시 = 새로운 SolidBrush (색상 [colorCB.SelectedIndex]); 일' –

답변

1

은 그냥 colors 배열에서 색상을 검색하는 콤보 상자 SelectedIndex 속성을 사용 :

private void colorCB_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    brush = new SolidBrush(colors[colorCB.SelectedIndex]); 
} 
+0

감사합니다! –