printdocument 里有个事件:PrintPageEventHandler(this.printDocument1_PrintPage)打印的时候可以通过e.Graphics.drawstring、drawline等,画出来线,或指定要打的内容,再什么位置上打然后可以预览,有两个问题
1、PrintPageEventHandler里通过e.Graphics.drawstring、drawline画出来的字或线,如果没有按照X坐标或Y坐标排序,用针式打印机进行套打时会不会有和点或字打不出来,2、就是一个排序问题,前提是1号问题的点名字打不出来
我有一个想法,就是创建一个对象名字就叫Test吧,里边有
public bool IsLine { get; set; } 是不是线
public String Name { get; set; } 字的内容
public int? X_Position { get; set; } X 坐标
public int? Y_Position { get; set; } Y 坐标然后把多个对象,放在List<Test>,对这个 List<Test>排序,条件是升序,test里X 坐标
Y 坐标 最小的放在前边,昨天试了一天没找到好的方法,没做过这样的排序
排序好了,再按X,Y坐标进行e.Graphics.drawstring、drawline的绘制
求高手给个排序方法
1、PrintPageEventHandler里通过e.Graphics.drawstring、drawline画出来的字或线,如果没有按照X坐标或Y坐标排序,用针式打印机进行套打时会不会有和点或字打不出来,2、就是一个排序问题,前提是1号问题的点名字打不出来
我有一个想法,就是创建一个对象名字就叫Test吧,里边有
public bool IsLine { get; set; } 是不是线
public String Name { get; set; } 字的内容
public int? X_Position { get; set; } X 坐标
public int? Y_Position { get; set; } Y 坐标然后把多个对象,放在List<Test>,对这个 List<Test>排序,条件是升序,test里X 坐标
Y 坐标 最小的放在前边,昨天试了一天没找到好的方法,没做过这样的排序
排序好了,再按X,Y坐标进行e.Graphics.drawstring、drawline的绘制
求高手给个排序方法
for (i = 0; i < a.Length - 1; i++) //排至倒数第二位,最后一位省略
{
for (int j = i + 1; j < a.Length; j++) //从第i位开始,至最后一位结束
{
if (a[i] > a[j]) //升序排列,最小的在前
{
int temp; //临时变量 temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
tx.Name = "week1";
tx.Text = "OK"; 救助!
List<T>,Sort可自定义排序
List <T>.Sort(IComparer <T>)
public class StudentComparer : IComparer <Student>
{
public enum CompareType
{
Name,
Age,
Grade
}
private CompareType type;
public StudentComparer(CompareType type)
{
this.type = type;
}
public int Compare(Student x, Student y)
{
switch(this.type)
{
case CompareType.Name:
return x.Name.CompareTo(y.Name);
case CompareType.Age:
return x.Age.CompareTo(y.Age);
default:
return x.Grade.CompareTo(y.Grade);
}
}
}
并不是你做了一个drawline的操作,打印机就会有动作,而是等你的操作都完成了,打印机才会有动作的