请参阅下面的代码。这里的代码将失败:person[i].Pic,因为i是未知的。
如何将索引i传递给PrintPage()-method?
private void BtnPrint_Click(object sender, EventArgs e)
{
for (int i = 0; i < persons.Count(); i++)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += PrintPage;
pd.Print();
}
}
private void PrintPage(object o, PrintPageEventArgs e)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(person[i].Pic);
Point loc = new Point(400, 100);
e.Graphics.DrawImage(img, loc);
}发布于 2017-07-18 14:51:11
这样如何:
private void BtnPrint_Click(object sender, EventArgs e)
{
for (int i = 0; i < persons.Count(); i++)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage +=
delegate(object o, PrintPageEventArgs e)
{
var img = System.Drawing.Image.FromFile(person[i].Pic);
Point loc = new Point(400, 100);
e.Graphics.DrawImage(img, loc);
};
pd.Print();
}
}即使用可以访问外部i变量的anonymous method。
https://stackoverflow.com/questions/45159491
复制相似问题