using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace painter
{
public partial class Form1 : Form
{
Array values = Enum.GetValues(typeof(Color));
Random random = new Random();
public bool shouldpaint = false;
public Form1()
{
InitializeComponent();
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
shouldpaint = true;
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
shouldpaint = false;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (shouldpaint == true)
{
Graphics a = CreateGraphics();
Color randomColor = (Color)values.GetValue(random.Next(values.Length));
a.FillEllipse(new SolidBrush(randomColor), e.X, e.Y, 5, 5);
}
}
}
}Как рандомизировать цветное перечисление в формах окон?
Я пытаюсь рандомизации SolidBrush (randomColor), так что, когда я двигаю мышь, его цвет будет меняться, и окрашены соответственно. Я пробовал код выше, он дал мне «Необработанное исключение типа« System.ArgumentException »произошло в mscorlib.dll». Можете ли вы проверить мой код рандомизации? Прежде чем я добавил этот код, он работал по назначению в соответствии с моим предопределенным цветом.
Вопроса имеет C# флаг, а не VB ;-) – derape
@derape спасибо за предупреждение. – Caveman
Просто помните, что второй параметр 'Random.Next (int, int)' является ** исключительным максимумом **, означающим, что 'oRandomNumbers.Next (0, 255)' будет производить только значения от '0' до' 254' включительно. – Enigmativity