看到很多同类的帖子,我还是没解决我的问题。
我想做的是初始化的时候一个直线(由SizeLine类实现),单击界面上的一个LinkButton产生(显示)一个新的直线
public partial class SizeLoad : UserControl
{
private SizeLine line1;//我自定义的类
public SizeLoad()
{
InitializeComponent();
line1 = new SizeLine(this.Width,this.Height);
} private void SizeLoad_Paint(object sender, PaintEventArgs e)
{
//LineDisplay的原型如下
// public void LineDisplay(PaintEventArgs e)
// {
// this.OnPaint(e);
// }
line1.LineDisplay(e);
} private void llAddline_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)//LinkButton的单击事件方法
{
this.Height+=100;
SizeLine addline = new SizeLine(this.Width, this.Height);
addline.LineDisplay(e);//参数如何处理,它不是PaintEventArgs类型的
}我是新手,请高手们多多指教,写些详细的代码,不胜感谢。
我想做的是初始化的时候一个直线(由SizeLine类实现),单击界面上的一个LinkButton产生(显示)一个新的直线
public partial class SizeLoad : UserControl
{
private SizeLine line1;//我自定义的类
public SizeLoad()
{
InitializeComponent();
line1 = new SizeLine(this.Width,this.Height);
} private void SizeLoad_Paint(object sender, PaintEventArgs e)
{
//LineDisplay的原型如下
// public void LineDisplay(PaintEventArgs e)
// {
// this.OnPaint(e);
// }
line1.LineDisplay(e);
} private void llAddline_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)//LinkButton的单击事件方法
{
this.Height+=100;
SizeLine addline = new SizeLine(this.Width, this.Height);
addline.LineDisplay(e);//参数如何处理,它不是PaintEventArgs类型的
}我是新手,请高手们多多指教,写些详细的代码,不胜感谢。
{
this.Height+=100;
SizeLine addline = new SizeLine(this.Width, this.Height);
PaintEventArgs me=new PaintEventArgs();
// me.ClipRectangle=你想设置区域
me.Graphics=this.CreateGraphics();
addline.LineDisplay(me);//参数如何处理,它不是PaintEventArgs类型的
}
private void Form1_Load(object sender, EventArgs e)
{
objDocument = new PrintDocument();
//当需要为当前页打印的输出时发生
objDocument.PrintPage += new PrintPageEventHandler(objDocument_PrintPage);
} void objDocument_PrintPage(object sender, PrintPageEventArgs e)
{
string objString = this.textBox1.Text;
//获取用于绘制页面的Graphics的对象
Graphics g = e.Graphics;
//向页面输出一行文字
g.DrawString(objString, f.Font, new SolidBrush(color.Color), new RectangleF(0, 200, textBox1.Width, textBox1.Height));
g.DrawString(objString, f.Font, new SolidBrush(f.Color), new PointF(30,30));
//画一个矩形框
g.DrawRectangle(new Pen(color.Color,2),200,200,200,200);
}
me.ClipRectangle=你想设置区域
如何获得当前窗口(控件)的区域?
userControl1.Invalidate();
使其表面无效,然后Windows自动地触发它的Paint事件。
可以强制连子控件一起重绘。
新建方法的参数不好弄。
new一个新的实例然后用userControl1.Invalidate();
能paint2个实例?