Я использую пользовательский управляющий код для своего приложения winforms, чтобы создать пользовательский цветной индикатор выполнения.Я могу построить его, и он отлично работает, НО каждый раз, когда я пытаюсь использовать конструктор, он вылетает.«Произошла ошибка при синтаксическом анализе EntityName»
Если я добавлю из панели инструментов, это то, что я получаю .
Если я вставлю индикатор выполнения, затем перепишу код для моего элемента управления (замените progressBar
на progressBarEx
), тогда это то, что я получу .
Код:
using System.Drawing;
using System.Windows.Forms;
namespace Crystal
{
public class ProgressBarEx : ProgressBar
{
private SolidBrush brush = null;
public ProgressBarEx()
{
this.SetStyle(ControlStyles.UserPaint, true);
}
protected override void OnPaint(PaintEventArgs e)
{
if (brush == null || brush.Color != this.ForeColor)
brush = new SolidBrush(this.ForeColor);
Rectangle rec = new Rectangle(0, 0, this.Width, this.Height);
if (ProgressBarRenderer.IsSupported)
ProgressBarRenderer.DrawHorizontalBar(e.Graphics, rec);
rec.Width = (int)(rec.Width * ((double)Value / Maximum)) - 4;
rec.Height = rec.Height - 4;
e.Graphics.FillRectangle(brush, 2, 2, rec.Width, rec.Height);
}
}
}