当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,