line.Checked调用时,是要在控件的属性里先设置吗?
在写程序的时候,line是button的名字,然后编写代码的时候找不到它的Checked的属性,而且button的属性里面也没有Checked呀! --------------------编程问答-------------------- 谢谢各位帮忙下啦! --------------------编程问答-------------------- button当然没Checked,Checked通常是文本前面有复选框的控件才有。估计楼主需要的是Clicked,而不是Checked --------------------编程问答-------------------- 我是在画图,书本上的例子:if( rbRectangle.Checked )
g.DrawRectangle( thepen, // 绘制矩形
不行!
可是改成:
if( rbLine.Click )
g.DrawLine( Pens.Black,ps[0],ps[ps.Length-1]); // 绘制直线
也不行啊!
--------------------编程问答-------------------- 当然不行啦rbLine.Click是事件,不是方法,不能直接用。
Button rbLine = new Button();
rbLine.Click += new EventHandler(rbLine_Click);
void rbLine_Click(object sender, EventArgs e)
{
//操作写这里
} --------------------编程问答-------------------- public void Form2_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics g = e.Graphics;
Point[] ps = (Point[])points.ToArray(typeof(Point));
if( rbLine .Click)
g.DrawLine( Pens.Black,ps[0],ps[ps.Length-1]); // 绘制直线
else if( rbRectangle.Checked )
g.DrawRectangle( thepen, // 绘制矩形
ps[0].X,ps[0].Y,
ps[ps.Length-1].X - ps[0].X,
ps[ps.Length-1].Y - ps[0].Y);
else if( rbCurve.Checked )
g.DrawCurve(thepen,ps); // 绘制曲线
else if( rbPolygon.Checked )
g.DrawPolygon( thepen,ps ); // 绘制多边形
else if( rbEllipse.Checked )
g.DrawEllipse(thepen,ps[0].X,ps[0].Y, // 绘制椭圆
ps[ps.Length-1].X-ps[0].X,
ps[ps.Length-1].Y-ps[0].Y);
}
--------------------编程问答-------------------- 上面是代码,
不行把操作不能放在:
void rbLine_Click(object sender, EventArgs e)
{
//操作写这里
}
因为很多graphics的类型数据要定义在Paint函数里面,就是上面那个函数。
在rbLine_Click里面不可用。
而且书上是这么写的,网上也有人这么拷贝出来,可是不能用,真是郁闷。 --------------------编程问答-------------------- 这里的Checked应该是自己定义的BUTTON类的一个BOOL型成员,作为个标记使用,而rbRectangle可能就是定义的BUTTON对象.
你可以查查是否有其他的代码里面定义了这样的一个类. --------------------编程问答-------------------- 当然可以啦,PaintEventArgs只是个类而以啊,你可以新建个成员嘛,如果与Paint函数有关联,就把e设为全局变量。
定义语句
private void rbLine_Click(object sender, EventArgs e)
{
System.Windows.Forms.PaintEventArgs e = new PaintEventArgs;
Graphics g = e.Graphics;
g.DrawLine(Pens.Black, ps[0], ps[ps.Length - 1]);
}
--------------------编程问答-------------------- 书上讲到控件属性的设置时,有说把button的check属性设为true,可是button的属性中没有check啊? --------------------编程问答-------------------- 楼主,你的书上的button明显是自定义的控件,你用的系统butten当然不会有啦。
rbRectangle.Checked 看名字都知道是块区域。 --------------------编程问答-------------------- 哦,我试试!谢谢!
补充:.NET技术 , C#