سلام من ميخوام ببينم چطور ميشه محتويات يك textbox را براي چاپ به printer فرستاد
Printable View
سلام من ميخوام ببينم چطور ميشه محتويات يك textbox را براي چاپ به printer فرستاد
سلام.
برای اینکار کافیه از System.Driwing.Printing استفاده کنید که کلاس های لازم رو برای این کار داره.
با استفاده از متود DrawString محتویات TextBox در یک ناحیه مشخص رسم میکنیم و کافیه از در پایان
از متود Print استفاده کنیم. ( PrintPageEventArgs )
به این صورت :
میتونید برای ساده تر شدن کد namespace های استفاده شده رو به ابتدای کدتون اضافه کنید.کد:
private void Print_Click(object sender, EventArgs e)
{
System.Drawing.Printing.PrintDocument pDocument =
new System.Drawing.Printing.PrintDocument();
pDocument.PrintPage +=
new System.Drawing.Printing.PrintPageEventHandler(Print_TextBoxContext);
pDocument.Print();
}
private void Print_TextBoxContext(object Sender,
System.Drawing.Printing.PrintPageEventArgs pPe)
{
Point point = new Point(50, 100);
float FontSize = 24;
pPe.Graphics.DrawString(TextBox.Text,
new Font("Arial",FontSize, FontStyle.Regular),
Brushes.Black,
point);
}
اگه مشکلی پیش اومد اطلاع بدید.
دوباره سلام.
روش کار مثل قبل هست. البته روش های دیگه هم وجود داره.
خب به نظرم من روش خوبی و ساده ای هست.
اگه مشکلی پیش اومد اطلاع بدید.کد:
private void Print_Click(object sender, EventArgs e)
{
System.Drawing.Printing.PrintDocument pDocument =
new System.Drawing.Printing.PrintDocument();
pDocument.PrintPage +=
new System.Drawing.Printing.PrintPageEventHandler(Print_ListBoxContext);
pDocument.Print();
}
private void Print_ListBoxContext(object sender,
System.Drawing.Printing.PrintPageEventArgs pPe)
{
string[] strList = new string[_Max_];
string StrToPrint;
strList = GetListItems(listBox1);
StrToPrint = strList[0] + "\n";
for (int i = 1; i < _Max_; i++)
{
StrToPrint += strList[i] + "\n";
}
Point point = new Point(50, 100);
float FontSize = 24;
pPe.Graphics.DrawString(StrToPrint,
new Font("Arial", FontSize, FontStyle.Regular),
Brushes.Black,
point);
}
private string[] GetListItems(ListBox list)
{
int i = 0;
string[] StrItems = new string[_Max_];
foreach (string item in list.Items)
{
StrItems[i] = item;
i++;
}
return StrItems;
}
private int _Max_ = 4;