احمد سامعی
دوشنبه 23 اردیبهشت 1392, 14:44 عصر
سلام
من در برنامم یک فرم دارم که اطلاعات زیادی کاربر وارد می کنه و قرار اون ها بعد از تمکیل فرم چاپ بشه. در واقع این ها اطلاعات یک قرارداد هست که قرار ذخیره بشه.
حالا در زمان چاپ کاربر شاید به دلایلی که خودش می دونه بخواد تنظیمات چاپ مانند سایز کاغذ و هاشیه ها و تعداد نسخه ها رو انتخاب کنه مثلا نسخه مشتری، بایگانی و دیگر تنظیمات... من زیاد تمایل ندارم از کریستال ریپورت استفاده کنم می خوام از پرینت داکیومنت با استفاده از کلاس گرافیک و دراو استرینگ استفاده کنم
حالا سوال من این هست؟
من دارم فونت و سایز فونت از کاربر می گیرم و محل قرارگیری هر بخش از متن رو مقدار دهی می کنم. بنابراین با توجه اینکه کاربر می تونه اندازه کاغذ و فونت رو تغییر بده ممکن تعداد صفحاتی که باید چاپ بشه تغییر کنه ولی من وقتی e.HasMorePages = true اعمال می کنم بعد از فراخوانی متد پرینت متد printDocument1_PrintPage حلقه بی نهایت برایش ایجاد می شه و هزار بار بیشتر فراخوانی می شه تا زمانی که ویندوز خطای مموری بده!
چی کار باید بکنم؟
ممنون
من در برنامم یک فرم دارم که اطلاعات زیادی کاربر وارد می کنه و قرار اون ها بعد از تمکیل فرم چاپ بشه. در واقع این ها اطلاعات یک قرارداد هست که قرار ذخیره بشه.
حالا در زمان چاپ کاربر شاید به دلایلی که خودش می دونه بخواد تنظیمات چاپ مانند سایز کاغذ و هاشیه ها و تعداد نسخه ها رو انتخاب کنه مثلا نسخه مشتری، بایگانی و دیگر تنظیمات... من زیاد تمایل ندارم از کریستال ریپورت استفاده کنم می خوام از پرینت داکیومنت با استفاده از کلاس گرافیک و دراو استرینگ استفاده کنم
حالا سوال من این هست؟
من دارم فونت و سایز فونت از کاربر می گیرم و محل قرارگیری هر بخش از متن رو مقدار دهی می کنم. بنابراین با توجه اینکه کاربر می تونه اندازه کاغذ و فونت رو تغییر بده ممکن تعداد صفحاتی که باید چاپ بشه تغییر کنه ولی من وقتی e.HasMorePages = true اعمال می کنم بعد از فراخوانی متد پرینت متد printDocument1_PrintPage حلقه بی نهایت برایش ایجاد می شه و هزار بار بیشتر فراخوانی می شه تا زمانی که ویندوز خطای مموری بده!
چی کار باید بکنم؟
ممنون