C#大学课程(第五版)课后习题14.7增强的绘图程序

/*14.7
(增强的绘图程序)扩展图14.38中的程序,使它包含能改变所画线条的粗细和颜色的选项。创建一个与图14.43 类似的GUI。用户应能够在程序的面板上画图。为了取得画图的Graphics 对象,而调用panelName.CreateGraphics() 方法,调用时应将panelName 替换成你的面板的名称。
*/
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Drawing
{
public partial class DrawingForm : Form
{
bool shouldPaint = false;
int dotSize = 4;
Color brushColor;
public DrawingForm()
{
InitializeComponent();
}
private void redRadioButton_CheckedChanged(
object sender, EventArgs e )
{
if ( redRadioButton.Checked )
brushColor = Color.Red;
}
private void blueRadioButton_CheckedChanged(
object sender, EventArgs e )
{
if ( blueRadioButton.Checked )
brushColor = Color.Blue;
}
private void greenRadioButton_CheckedChanged(
object sender, EventArgs e )
{
if ( greenRadioButton.Checked )
brushColor = Color.Green;
}
private void blackRadioButton_CheckedChanged(
object sender, EventArgs e )
{
if ( blackRadioButton.Checked )
brushColor = Color.Black;
}
private void smallRadioButton_CheckedChanged(
object sender, EventArgs e )
{
if ( smallRadioButton.Checked )
dotSize = 4;
}
private void mediumRadioButton_CheckedChanged(
object sender, EventArgs e )
{
if ( mediumRadioButton.Checked )
dotSize = 8;
}
private void largeRadioButton_CheckedChanged(
object sender, EventArgs e )
{
if ( largeRadioButton.Checked )
dotSize = 10;
}
private void drawingPanel_MouseDown(
object sender, MouseEventArgs e )
{
shouldPaint = true;
}
private void drawingPanel_MouseUp(
object sender, MouseEventArgs e )
{
shouldPaint = false;
}
private void drawingPanel_MouseMove(
object sender, MouseEventArgs e )
{
if ( shouldPaint )
{
using ( Graphics graphics = drawingPanel.CreateGraphics() )
{
graphics.FillEllipse(
new SolidBrush( brushColor ), e.X, e.Y, dotSize, dotSize );
}
}
}
}
}

posted @ 2018-04-07 18:32  v123ve  阅读(169)  评论(0)    收藏  举报