อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณสร้างโปรแกรมประยุกต์ Windows Forms ที่ยึดตามรุ่นต่อไปนี้ของ microsoft .NET Framework:
-
Microsoft .NET Framework 2.0
-
Microsoft .NET Framework 3.0
-
Microsoft .NET Framework 3.5
-
-
คุณสามารถใช้คลาส PrintDialog เพื่อแสดงกล่องโต้ตอบ พิมพ์ สําหรับการพิมพ์ในแอปพลิเคชัน
-
คุณเลือกกล่องกาเครื่องหมาย เรียงต่อ ในกล่องโต้ตอบหมายเหตุ คุณยังสามารถตั้งค่า PrintDialogObject โดยทางโปรแกรมได้ PrinterSettings.Collate เป็น true
ในสถานการณ์สมมตินี้ การตั้งค่าเรียงไม่ทํางาน ตัวอย่างเช่น สมมติว่าคุณพยายามพิมพ์สําเนา 2 หน้าของเอกสาร เมื่อเปิดใช้งานการตั้งค่าเรียงหน้าควรพิมพ์ตามลําดับต่อไปนี้:
หน้า 1หน้า 2หน้า 1หน้า 2อย่างไรก็ตาม หน้าจะถูกพิมพ์ตามลําดับต่อไปนี้แทน:
หน้า 1หน้า 1หน้า 2Noteปัญหานี้ไม่เกิดขึ้นใน Windows XP หรือ Windows Server 2003
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากแอปพลิเคชัน Windows Forms อ่านข้อมูลการตั้งค่าเครื่องพิมพ์จากตําแหน่งที่ไม่ถูกต้องหลังจากปิดกล่องโต้ตอบพิมพ์
การแก้ไข
ข้อมูลโปรแกรมแก้ไขด่วน
โปรแกรมแก้ไขด่วนที่ได้รับการสนับสนุนจาก Microsoft พร้อมใช้งานแล้ว อย่างไรก็ตาม มีไว้เพื่อแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นําไปใช้กับระบบที่พบปัญหานี้โดยเฉพาะเท่านั้นเมื่อต้องการแก้ไขปัญหานี้ ให้ติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน สําหรับรายชื่อทั้งหมดของหมายเลขโทรศัพท์ของฝ่ายบริการสนับสนุนลูกค้าของ Microsoft และข้อมูลเกี่ยวกับค่าใช้จ่ายในการสนับสนุน โปรดเยี่ยมชมเว็บไซต์ของ Microsoft ต่อไปนี้:
http://support.microsoft.com/contactus/?ws=supportหมายเหตุ ในกรณีพิเศษ อาจมีการยกเลิกค่าใช้จ่ายสําหรับการโทรติดต่อฝ่ายสนับสนุนตามปกติ หากผู้เชี่ยวชาญฝ่ายสนับสนุนของ Microsoft ระบุว่าการอัปเดตเฉพาะจะแก้ไขปัญหาของคุณได้ ค่าใช้จ่ายในการสนับสนุนปกติจะใช้กับคําถามและปัญหาการสนับสนุนเพิ่มเติมที่ไม่มีคุณสมบัติสําหรับการอัปเดตเฉพาะที่สงสัย
ข้อกำหนดเบื้องต้น
เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมี.NET Framework 2.0 .NET Framework 3.0 หรือ .NET Framework 3.5 ที่ติดตั้งบนคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการต่อไปนี้:
-
Windows Vista Service Pack 2 (SP2)
-
Windows Server 2008 Service Pack 2 (SP2)
-
Windows 7
-
Windows 7 Service Pack 1 (SP1)
-
Windows Server 2008 R2
-
Windows Server 2008 R2 Service Pack 1 (SP1)
ความต้องการในการเริ่มระบบใหม่
คุณต้องเริ่มระบบของคอมพิวเตอร์ใหม่หลังจากใช้โปรแกรมแก้ไขด่วนนี้ เราขอแนะนําให้คุณปิดโปรแกรมประยุกต์.NET Framework ทั้งหมดที่ล็อก หรือใช้แฟ้มที่ได้รับผลกระทบก่อนที่คุณจะติดตั้งโปรแกรมแก้ไขด่วนนี้
ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน
โปรแกรมแก้ไขด่วนนี้ไม่แทนที่โปรแกรมแก้ไขด่วนที่ออกมาก่อนหน้านี้
ข้อมูลไฟล์
โปรแกรมแก้ไขด่วนรุ่นส่วนกลางนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาสำหรับไฟล์เหล่านี้จะแสดงในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลไฟล์จะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC และเวลาท้องถิ่น ให้ใช้แท็บ โซนเวลา ในรายการ วันที่และเวลา ใน แผงควบคุม
สําหรับ Windows Vista และ Windows Server 2008
สําหรับ Windows Server 2008 และ Windows Vista รุ่น x86 ที่ได้รับการสนับสนุนทั้งหมด
|
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดไฟล์ |
วันที่ |
เวลา |
แพลตฟอร์ม |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-ส.ค. 2555 |
10:58 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-ส.ค. 2555 |
10:58 |
x86 |
สําหรับ Windows Server 2008 และ Windows Vista รุ่น x64 ที่รองรับทั้งหมด
|
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดไฟล์ |
วันที่ |
เวลา |
แพลตฟอร์ม |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-ส.ค. 2555 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-ส.ค. 2555 |
10:59 |
x64 |
สําหรับ Windows Server 2008 เวอร์ชัน IA-64 ที่รองรับทั้งหมด
|
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดไฟล์ |
วันที่ |
เวลา |
แพลตฟอร์ม |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-ส.ค. 2555 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-ส.ค. 2555 |
10:52 |
IA-64 |
สําหรับ Windows 7 และ Windows Server 2008 R2
สำหรับ Windows 7 เวอร์ชันที่ใช้ x86 ที่สนับสนุนทั้งหมด
|
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดไฟล์ |
วันที่ |
เวลา |
แพลตฟอร์ม |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-ส.ค. 2555 |
10:59 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-ส.ค. 2555 |
10:59 |
x86 |
สำหรับเวอร์ชัน x64 ที่รองรับ Windows 7 และ Windows Server 2008 R2 ทั้งหมด
|
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดไฟล์ |
วันที่ |
เวลา |
แพลตฟอร์ม |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-ส.ค. 2555 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-ส.ค. 2555 |
10:59 |
x64 |
สําหรับ Windows Server 2008 R2 เวอร์ชัน IA-64 ที่รองรับทั้งหมด
|
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดไฟล์ |
วันที่ |
เวลา |
แพลตฟอร์ม |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-ส.ค. 2555 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-ส.ค. 2555 |
10:52 |
IA-64 |
สําหรับ Windows 7 SP1 และ Windows Server 2008 R2 SP1
สําหรับ Windows 7 SP1 รุ่น x86 ที่รองรับทั้งหมด
|
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดไฟล์ |
วันที่ |
เวลา |
แพลตฟอร์ม |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-ส.ค. 2555 |
11:03 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-ส.ค. 2555 |
11:03 |
x86 |
สําหรับ Windows 7 SP1 และ Windows Server 2008 R2 SP1 รุ่น x64 ที่รองรับทั้งหมด
|
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดไฟล์ |
วันที่ |
เวลา |
แพลตฟอร์ม |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-ส.ค. 2555 |
11:02 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-ส.ค. 2555 |
11:02 |
x64 |
สําหรับ Windows Server 2008 R2 SP1 รุ่น IA-64 ที่รองรับทั้งหมด
|
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดไฟล์ |
วันที่ |
เวลา |
แพลตฟอร์ม |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-ส.ค. 2555 |
10:55 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-ส.ค. 2555 |
10:55 |
IA-64 |
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
ต่อไปนี้จะอธิบายถึงการเปลี่ยนแปลงลักษณะการทํางานก่อนและหลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วน ตัวอย่างเช่น คุณสร้างแอปพลิเคชัน Windows Forms ที่มีรหัสต่อไปนี้:
PrintDialog pd = new PrintDialog();pd.PrinterSettings.Copies = 2;pd.PrinterSettings.Collate = true;pd.ShowDialog();
ตารางต่อไปนี้แสดงว่าการตั้งค่าการเรียงถูกตั้งค่าเป็น true หลังจากกล่องโต้ตอบ พิมพ์ ปรากฏขึ้นแล้วถูกปิดหรือไม่ก่อนที่คุณจะติดตั้งโปรแกรมแก้ไขด่วนนี้
|
พิมพ์ |
คุณสมบัติ PrintDialog.UseEXDialog ถูกตั้งค่าเป็นเท็จ |
คุณสมบัติ PrintDialog.UseEXDialog ถูกตั้งค่าเป็น true |
|
XPS writer |
ลักษณะการทํางานของตัวแปร ขึ้นอยู่กับระบบปฏิบัติการ |
การตั้งค่า เรียงตามชุด ถูกตั้งค่าเป็น เท็จ |
|
เครื่องพิมพ์จริง |
การตั้งค่า เรียงตามชุด ถูกตั้งค่าเป็น เท็จ |
การตั้งค่า เรียงตามชุด ถูกตั้งค่าเป็น เท็จ |
หลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้
|
พิมพ์ |
คุณสมบัติ PrintDialog.UseEXDialog ถูกตั้งค่าเป็นเท็จ |
คุณสมบัติ PrintDialog.UseEXDialog ถูกตั้งค่าเป็น true |
|
XPS writer |
ลักษณะการทํางานของตัวแปร ขึ้นอยู่กับระบบปฏิบัติการ |
การตั้งค่า เรียงตามชุด ถูกตั้งค่าเป็น true |
|
เครื่องพิมพ์จริง |
การตั้งค่า เรียงตามชุด ถูกตั้งค่าเป็น true |
การตั้งค่า เรียงตามชุด ถูกตั้งค่าเป็น true |
อ้างอิง
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติ PrintDialog.PrinterSettings ไปที่เว็บไซต์ MSDN ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับคุณสมบัติ PrintDialog.PrinterSettingsสําหรับข้อมูลเพิ่มเติมเกี่ยวกับกล่องโต้ตอบ พิมพ์ ให้ไปที่เว็บไซต์ MSDN ต่อไปนี้