คำถามติดแท็ก winforms

WinForms เป็นชื่อที่ไม่เป็นทางการซึ่งกำหนดให้กับ Windows Forms ซึ่งเป็นไลบรารีคลาส GUI ใน Microsoft .NET Framework และ Mono คำถามในแท็กนี้ควรติดแท็กด้วยเฟรมเวิร์กเป้าหมาย ([.net] หรือ [mono]) และควรติดแท็กปกติด้วยแท็กภาษาการเขียนโปรแกรม

7
วาดพิกเซลเดียวบน Windows Forms
ฉันติดอยู่ในการพยายามเปิดพิกเซลเดียวใน Windows Form graphics.DrawLine(Pens.Black, 50, 50, 51, 50); // draws two pixels graphics.DrawLine(Pens.Black, 50, 50, 50, 50); // draws no pixels จริงๆแล้ว API ควรมีวิธีตั้งค่าสีของหนึ่งพิกเซล แต่ฉันไม่เห็น ฉันใช้ C #
94 c#  .net  winforms  gdi+  pixel 

3
แนวทางปฏิบัติที่ดีที่สุดในการสร้างแอปพลิเคชันหลายภาษาใน C # / WinForms? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันกำลังมองหาการสร้างแอปพลิเคชันที่เหมาะสมกับหลายภาษาใน C # เนื่องจากฉันต้องทำงานในโครงการขนาดเล็กซึ่งเป็นกรณีนี้ ฉันพบโดยทั่วไปสองวิธีในการทำสิ่งนี้: ตั้งค่าคุณสมบัติที่สามารถแปลเป็นภาษาท้องถิ่นได้ของแบบฟอร์มเป็นจริงตั้งค่าคุณสมบัติภาษากรอกป้ายกำกับทั้งหมดและคุณ 'เสร็จสิ้น' ข้อเสียเปรียบหลักที่ฉันเห็นในสิ่งนี้คือวิธีสร้างสิ่งอื่น ๆ ที่ไม่ได้เป็นส่วนหนึ่งของแบบฟอร์มที่พร้อมสำหรับหลายภาษา (เช่นหน้าต่างป๊อปอัปไฟล์บันทึกหรือหน้าต่าง ฯลฯ ) สร้างไฟล์ทรัพยากรตัวอย่างเช่น 'Lang.en-us.resx' และอีกไฟล์หนึ่งสำหรับทุกภาษาเช่น 'Lang.nl-nl.resx' และเติมด้วย Strings ดูเหมือนว่า IDE จะสร้างคลาสให้ฉันโดยอัตโนมัติดังนั้นในโค้ดฉันสามารถใช้ Lang.SomeText ได้ ข้อเสียเปรียบที่ใหญ่ที่สุดที่ฉันเห็นในสิ่งนี้คือสำหรับทุกรูปแบบฉันต้องตั้งค่าป้ายกำกับและคำอธิบายภาพอื่น ๆ ทั้งหมดด้วยตัวเองในโค้ด (และดูเหมือนว่าการผูกข้อมูลจะใช้กับทรัพยากรเหล่านี้ไม่ได้) อย่างไรก็ตามฉันแน่ใจว่ามีวิธีอื่นในการทำเช่นนี้เช่นกัน แนวทางปฏิบัติที่ดีที่สุดคืออะไร? อะไรที่ง่ายที่สุดสำหรับแอปพลิเคชันขนาดเล็ก (ไม่กี่รูปแบบการเชื่อมต่อฐานข้อมูล ฯลฯ ) และแบบใดที่เหมาะกับแอปพลิเคชันขนาดใหญ่ที่สุด

5
Linq Query ยังคงโยน“ ไม่สามารถสร้างค่าคงที่ของประเภท System.Object …” ทำไม?
ต่อไปนี้เป็นตัวอย่างโค้ด: private void loadCustomer(int custIdToQuery) { var dbContext = new SampleDB(); try { var customerContext = from t in dbContext.tblCustomers // keeps throwing: where t.CustID.Equals(custIdToQuery) // Unable to create a constant value of type 'System.Object'. select new // Only primitive types ('such as Int32, String, and Guid') { // are …

10
วิธีใส่ UserControl ลงใน Visual Studio toolBox
ฉันสร้าง usercontrol ในโปรเจ็กต์ของฉันและหลังจากสร้างโปรเจ็กต์ฉันต้องใส่มันลงในกล่องเครื่องมือของฉันและใช้มันเป็นคอนโทรลทั่วไป แต่ฉันทำไม่ได้ UserControlอยู่ใน namespace โครงการของฉันและฉันพยายามChoose Itemในเมนูคลิกขวา แต่ผมไม่ได้หาวิธีที่จะเพิ่มมัน

8
วิธีจัดเก็บอาร์เรย์ int [] ในการตั้งค่าแอปพลิเคชัน
ฉันกำลังสร้างแอปพลิเคชัน Windows Forms แบบธรรมดาโดยใช้ C # express 2008 ฉันเป็นนักพัฒนา C ++ ที่มีประสบการณ์ แต่ฉันค่อนข้างใหม่สำหรับ C # และ. NET ขณะนี้ฉันกำลังจัดเก็บการตั้งค่าแอปพลิเคชันง่ายๆของฉันโดยใช้ตัวออกแบบการตั้งค่าและรหัสดังนี้: // Store setting Properties.Settings.Default.TargetLocation = txtLocation.Text; ... // Restore setting txtLocation.Text = Properties.Settings.Default.TargetLocation; ตอนนี้ฉันต้องการเก็บอาร์เรย์ของ ints ( int[]) หรืออาจจะเป็น List of ints ( List< int >) เป็นค่าติดตั้ง อย่างไรก็ตามฉันคิดไม่ออกว่าจะทำอย่างไร ฉันได้ค้นหาเอกสาร, stackoverflow และ google แล้วและฉันไม่พบคำอธิบายที่เหมาะสมเกี่ยวกับวิธีการทำเช่นนี้ …
93 c#  winforms  arrays  settings 

2
รายการ <T> กับ BindingList <T> ข้อดี / ข้อไม่ได้เปรียบ
ใครสามารถอธิบายความแตกต่างระหว่างทั้งสองสำหรับโครงการของฉัน ตอนนี้ฉันมีList&lt;MyClass&gt;และตั้งค่า BindingSource เป็นที่และ DataGridView เป็น BindingSource ฉันได้นำไปใช้IEditableObjectแล้วเมื่อเรียกว่า CancelEdit ฉันจะเปลี่ยนวัตถุของฉันกลับไปเป็นไฟล์Memberwise.Clone() การเปลี่ยนรายการของฉันเป็น BindingList จะช่วยแก้ปัญหานี้ได้หรือไม่และข้อดีของการใช้ BindingList คืออะไร?

8
ปุ่ม Escape เพื่อปิดฟอร์ม Windows Forms ใน C #
ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if ((Keys) e.KeyValue == Keys.Escape) this.Close(); } แต่มันไม่ได้ผล จากนั้นฉันลองสิ่งนี้: protected override void OnKeyDown(KeyEventArgs e) { base.OnKeyDown(e); if (e.KeyCode == Keys.Escape) this.Close(); } และยังไม่มีอะไรทำงาน KeyPreview บนคุณสมบัติของฟอร์ม Windows Forms ของฉันถูกตั้งค่าเป็น true ... ฉันทำอะไรผิด?
93 c#  winforms 

9
วิงวอน (Delegate)
ใครก็ได้โปรดอธิบายข้อความนี้ที่เขียนไว้ในลิงค์นี้ Invoke(Delegate): ดำเนินการผู้รับมอบสิทธิ์ที่ระบุบนเธรดที่เป็นเจ้าของหมายเลขอ้างอิงหน้าต่างของตัวควบคุม ใครสามารถอธิบายความหมาย (โดยเฉพาะตัวหนา) ฉันไม่สามารถเข้าใจได้อย่างชัดเจน

2
Datagridview - ลบบางส่วนก่อนคอลัมน์แรก
ฉันสงสัยว่าเมื่อใช้ตัวควบคุมดาต้ากริดคุณสามารถลบสิ่งที่ดูเหมือนคอลัมน์ก่อนคอลัมน์ที่ 1 ได้หรือไม่ ฉันคิดว่ามันใช้เพื่อเลือกแถว แต่ไม่แน่ใจว่ามันเรียกว่าอะไร

7
ฉันจะเข้าสู่ระบบ C # โดยไม่ใช้ไลบรารีของบุคคลที่สามได้อย่างไร [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ ฉันต้องการใช้การเข้าสู่ระบบในแอปพลิเคชันของฉัน แต่ไม่ต้องการใช้เฟรมเวิร์กภายนอกเช่น log4net ดังนั้นฉันต้องการทำบางอย่างเช่นเสียงสะท้อนของ DOS ไปยังไฟล์ วิธีที่มีประสิทธิภาพมากที่สุดคืออะไร? มีวิธีบันทึกข้อยกเว้นที่ไม่สามารถจัดการได้โดยไม่ต้องใช้เฟรมเวิร์กภายนอกหรือไม่?

21
จะเปลี่ยนสีของแถบความคืบหน้าใน C # .NET 3.5 ได้อย่างไร?
ฉันต้องการทำสองสิ่งบนแถบความคืบหน้า เปลี่ยนสีเขียวเป็นสีแดง นำบล็อกออกและทำให้เป็นสีเดียว ข้อมูลใด ๆ เกี่ยวกับสองสิ่งที่ฉันสงสัยว่าจะทำอย่างไรให้สำเร็จจะเป็นที่ชื่นชอบ ขอบคุณ.
92 c#  .net  winforms  .net-3.5 

30
ข้อผิดพลาดในการสร้าง:“ กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากกำลังถูกใช้โดยกระบวนการอื่น”
ฉันมีwebformsแอปC # ซึ่งจนถึงวันนี้ก็ใช้งานได้แค่ว่ายน้ำ วันนี้ทันใดนั้นทุกครั้งที่ฉันลองเรียกใช้แอปฉันได้รับข้อผิดพลาดในการล็อกไฟล์: ไม่สามารถคัดลอกไฟล์ "obj \ Debug \ MyProject.exe" ไปยัง "bin \ Debug \ MyProject.exe" กระบวนการไม่สามารถเข้าถึงไฟล์ "bin \ Debug \ MyProject.exe" ได้เนื่องจากถูกใช้โดยกระบวนการอื่น Googling ข้อผิดพลาดไม่ได้เกิดขึ้นนอกเหนือจากที่ชัดเจนกล่าวคือ VS คิดว่าไฟล์ถูกล็อก และแน่นอนว่าเป็นVisual Studio ที่ล็อคไฟล์เพราะเมื่อฉันปิด VS และเปิดขึ้นมาใหม่โปรเจ็กต์จะทำงานได้ดีในครั้งแรก เมื่อฉันพยายามเรียกใช้ครั้งที่สองฉันได้รับข้อผิดพลาดในการล็อกไฟล์ การปิด VS และเปิดใหม่ทุกครั้งที่ฉันต้องการเรียกใช้แอปไม่ใช่วิธีแก้ปัญหาที่ทำได้! ฉันจะทราบได้อย่างไรว่ามีอะไรล็อกไฟล์และหยุดไม่ให้ถูกล็อก แก้ไข: การค้นพบที่น่าสนใจอีกอย่าง: ฉันไม่ต้องเรียกใช้แอปด้วยซ้ำ การคอมไพล์ครั้งเดียวทำให้เกิดการล็อกไฟล์ ฉันไม่สามารถรวบรวมสองครั้งติดต่อกัน! ปัญหานี้เฉพาะสำหรับโครงการหนึ่งในโซลูชันของฉัน โครงการอื่น ๆ ทั้งหมดทำงานได้ดีและสามารถดำเนินการได้หลายครั้งเท่าที่ฉันต้องการ เป็นเพียงโครงการเดียวที่ทำให้ตัวเองถูกขัง

11
การเปลี่ยนไอคอนเริ่มต้นในแอปพลิเคชัน Windows Forms
ฉันต้องการเปลี่ยนไอคอนในแอปพลิเคชันที่ฉันกำลังทำงานอยู่ แต่แค่เรียกดูไอคอนอื่น ๆ จากแท็บคุณสมบัติโครงการ -&gt; แอปพลิเคชัน -&gt; ไอคอนก็ไม่ได้รับไอคอนที่เก็บไว้บนเดสก์ท็อป .. วิธีทำที่ถูกต้องคืออะไร?

17
จะตรวจจับการเปลี่ยนแปลงเหตุการณ์ DataGridView CheckBox ได้อย่างไร?
ฉันมีแอป winforms และต้องการเรียกใช้โค้ดบางอย่างเมื่อมีDataGridViewการเลือก / ไม่เลือกช่องทำเครื่องหมายที่ฝังอยู่ในการควบคุม ทุกเหตุการณ์ฉันพยายามอย่างใดอย่างหนึ่ง ทริกเกอร์ทันทีที่CheckBoxคลิก แต่ก่อนที่สถานะการตรวจสอบจะเปลี่ยนไปหรือ ทริกเกอร์เพียงครั้งเดียวที่CheckBoxสูญเสียโฟกัส ฉันไม่พบเหตุการณ์ที่ทริกเกอร์ทันทีหลังจากที่สถานะการตรวจสอบเปลี่ยนไป แก้ไข: สิ่งที่ฉันพยายามจะบรรลุคือเมื่อสถานะการตรวจสอบของการเปลี่ยนแปลงCheckBoxในหนึ่งเดียวDataGridViewข้อมูลในอีกสองรายการDataGridViewจะเปลี่ยนไป เหตุการณ์ทั้งหมดที่ฉันใช้ข้อมูลในกริดอื่น ๆ จะเปลี่ยนไปหลังจากที่CheckBoxในครั้งแรกDataGridViewสูญเสียโฟกัสเท่านั้น


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.