الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في استخدام الطابعة

مغلق
بدأه electronics في 4 يونيو 2006 · 2 رد · 617 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

قمت بكتابة برنامج لطباعة محتوى textBox باستخدام الطابعة وقد عمل البرنامج بشكل ممتاز

وكان الكود المستخدم هو التالي:

عند النقر على زر طباعة يتم تنفيذ التالي:

try
			{
				ThePrintDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PrintPage);
				myStringReader = new System.IO.StringReader(printertext);
				ThePrintDocument.Print();
			}
			catch( System.Exception ex)
			{
				MessageBox.Show(ex.ToString());

protected void PrintPage (object sender, System.Drawing.Printing.PrintPageEventArgs ev)
		{
			float linesPerPage = 0;
			float yPosition = 0;
			int count = 0;
			float leftMargin = ev.MarginBounds.Left;
			float topMargin = ev.MarginBounds.Top; 
			string line = null;
			Font printFont = textBox1.Font;
			SolidBrush myBrush = new SolidBrush(Color.Black);
			linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics);
			while(count < linesPerPage && ((line=myStringReader.ReadLine()) != null))
			{
				yPosition = topMargin + (count * printFont.GetHeight(ev.Graphics));
				ev.Graphics.DrawString(line, printFont, myBrush, leftMargin, yPosition, new StringFormat());
				count++;
			}

			if  (line != null)
			{

				ev.HasMorePages = true;
			}
			else
			{
				ev.HasMorePages = false;
			}

			myBrush.Dispose();

		}

ولكن المشكلة التي واجهتها هي عند استخدام هذا الكود للطباعة عن طريق الشبكة حيث كتبت برنامج يقوم فيه المستخدم بكتابة نص وإرساله وعند استلام الطرف الآخر للنص يقوم البرنامج بطباعته فوريا ويظهر نسخة عن الرسالة في مربع نص أيضا. ما حصل معي هو أنني أستلم الرسالة وتظهر في مربع النص وتظهر نافذة الطابعة وهي تستعد للطباعة ولكن لا تتحول حالة الطابعة غلى طباعة حتى يتم إغلاق البرنامج فما المشكلة في رأيكم ؟؟؟؟؟

#2

حسننا تم حل المشكلة اعتقد أن المشكلة كانت لديك في الـ Threading إذ يفضل وضع كود الطباعة في حدث الـ Text Change للـ TextBox عند استقبال أي رسالة , الكود في المرفقات

بتوفيق

Remote_Print.zip

تم تعديل هذه المشاركة بواسطة fmo_82 في 5 يونيو 2006 في 02:03

#3

بالفعل أخي فبعد محاولات عدة وجدت أن المشكلة في الـ Threads كنت أريد كتابة هذا في النتدى فوجدتك قد أجبت فجزاك الله خير وبارك فيك

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…