public Form1()
{}
和 PUBLIC FORM1_LOAD()
{}
有什么区别呢?
内容写在他俩中有什么区别? 最好举个例子给我看下
还有
private void printbutton_Click(object sender, EventArgs e)
{
using (Brush b = new SolidBrush(Color.Black))
{
Graphics g = this.CreateGraphics();
g.DrawString("123456789", new Font("3 of 9 Barcode", 16), b, new Rectangle(10, 10, 200, 200));//3 of 9 Barcode这个是你安装的字体的名字,在C:\WINDOWS\Fonts下查看
}
}
我写在BUTTON中可以执行,也可以画出条码,但是写在LOAD中为什么不能在程序刚启动的时候直接画出来呢?
{}
和 PUBLIC FORM1_LOAD()
{}
有什么区别呢?
内容写在他俩中有什么区别? 最好举个例子给我看下
还有
private void printbutton_Click(object sender, EventArgs e)
{
using (Brush b = new SolidBrush(Color.Black))
{
Graphics g = this.CreateGraphics();
g.DrawString("123456789", new Font("3 of 9 Barcode", 16), b, new Rectangle(10, 10, 200, 200));//3 of 9 Barcode这个是你安装的字体的名字,在C:\WINDOWS\Fonts下查看
}
}
我写在BUTTON中可以执行,也可以画出条码,但是写在LOAD中为什么不能在程序刚启动的时候直接画出来呢?
解决方案 »
- 求正则表达式,提取td内容,存到datatable中
- 主板上集成的串口 与 USB转COM线的转出来的串口 有这样的区别?
- 请JustACoder来帮忙解决下刚才的一个余留问题!谢谢
- 内容页 中加title
- WebBrowser做多标签浏览器 多线程浏览问题
- 请问datetimerpicker控件中的日期能不能设置成不同的背景色,例如把节日设置成绿色,其它的为白色.
- 怎样才能使子窗体镶嵌在父窗体上阿,效果像TabControl形式的
- C# snmp编程 解析自定义的mib文件
- 一个小问题-在vs.net2000下怎样预览水晶报表
- 线程问题
- C# 输入法问题
- 为什么VS2008的XSD没有了设计器?
构造函数和Load都会先后执行。一般来说,构造函数先于Load事件
load:使用load前提是这个对象已经存在,load只是把这个对象要显示到显示的信息显示出来。
执行时先执行构造函数比如
LoginForm myFrom = new LoginForm(); 1
myForm.Show(); 21时候定义类对象并实例化new,这个时候就调用了构造函数
2时候显示画面才加载其控件,比如上面的按钮了,文本框了对应你说的点按钮可以画,放load里面不行
不应该啊
可能是你其他地方有什么东西执行影响到了你可以把全部代码粘出来看看
load:一般用来初始操作“有”了的东西
有道理。
构造函数是在最开始执行的,创建了一个对象。
在此之后才可以执行其他函数,如load()。
我猜是在构造函数调用里调用了load
oo嘛,没有对象,就没有对象去响应事件。
构造函数就拿窗体来说,他是属于先实例化各个控件,但是不加载的,只是相当于NEW了下,然后当LOAD的时候就是显示窗体的时候同时发生,可以说构造函数是执行在LOAD事件之前对了 我的第2个问题是怎么样的呢?
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = FormBorderStyle.None;
this.printbutton.Text = "Print Form";
printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
}
Bitmap memoryImage; private void printbutton_Click(object sender, EventArgs e)
{
using (Brush b = new SolidBrush(Color.Black))
{
Graphics g = this.CreateGraphics();
g.DrawString("123456789", new Font("3 of 9 Barcode", 16), b, new Rectangle(10, 10, 200, 200));//3 of 9 Barcode这个是你安装的字体的名字,在C:\WINDOWS\Fonts下查看
}
} private void CaptureScreen()
{
Graphics myGraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
} private void printDocument1_PrintPage(System.Object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 0, 0);
} private void button1_Click(object sender, EventArgs e)
{
int i=0;
while (i < 2)
{
this.label1.Text = "*123456789*";
MessageBox.Show(i.ToString());
CaptureScreen();
//printDialog1.ShowDialog();
printDocument1.Print();
i++;
}
} private void Form1_Load(object sender, EventArgs e)
{
//如果代码写在这里
} 我画图代码写在这里为什么不执行呢?他画不出条码,但是现在的BUTTON_CLICK中就可以执行,为什么呢?希望大家讲解下谢谢
最后告诉大家个问题,我已经研究出来,打印条码的时候是不可以用绘图的方式打印的,因为打印出来的是图形,打印机会按照图形的方式来打印,所以精度根本不能达到条码的打印精度,所以用画图的方式是不可以搞定的,所以画图是只能看而不能打,打出来也读不出来,
解决办法: 1:管厂家要DEMO,和DLL那个里面有例子,这样调用DLL的话,走的是打印机驱动,由打印机自己来完成 任务;内部结构是他自己发送自己的打印机命令给打印机,这点不是咋们应该管的,他自己完成
2:方法就是管厂家要打印机操作数指令,然后不走驱动,也就是自己把打印参数发送到串口或者并口,这个方法麻烦的就是,有的厂家打印参数说明是英文版,而且没有DEMO这点有的时候很郁闷,建议大家用波斯德的打印机,他们厂家提供DLL和DEMO直接添几个参数就搞定了有不明白或者有什么问题的兄弟联系我QQ 804206885