2010-09-12 28 views
5

Tôi thấy mệt mỏi vì không thể làm việc với GUI và mọi điều khiển có thể, hàng triệu bài viết về bộ đệm đôi, cờ ControlStyle. nhìn vào ví dụ này:Thay thế cho winforms có thể dễ dàng sử dụng với C# và .NET

How to prevent a Windows Forms TextBox from flickering on resize?

Sau khi đọc câu hỏi này, khác trên SO, và nhiều bài viết trên web tôi nghĩ rằng có 2 lựa chọn, hãy viết điều khiển riêng, hoặc sử dụng thay thế cho winforms. Vì vậy, câu hỏi của tôi là: lựa chọn thay thế tốt nào có thể là dễ dàng được sử dụng với C# và .NET trên Windows và thậm chí trên Linux và Mac (nhưng điều này là không cần thiết)? Tuy nhiên nếu tôi thiếu một cái gì đó với tất cả những cửa sổ lộn xộn, tôi sẽ được vui mừng nếu bạn sửa tôi.

Một điều quan trọng, sự nhấp nháy và các vấn đề khác gây khó chịu, chúng không ngăn công việc được thực hiện, vì vậy ưu tiên thay thế là có đầy đủ chức năng.

Trả lời

6

Còn các lựa chọn thay thế này thì sao?

7

WPF, sẽ là câu trả lời của bạn để Windows Forms nếu bạn đang ở trên nền tảng .NET.

+1

Chỉ cần chắc chắn - nếu tôi chọn WPF tôi sẽ được gắn với cửa sổ nhiều hơn với biểu mẫu thắng, phải không? – SuitUp

+0

@SuitUp - Có. Mã Winforms dễ dàng hơn nhiều để chuyển sang một số bộ công cụ GUI khác. –

2

Tôi chưa từng trải qua các chương trình winform với VS2008 trong C# .NET. Tuy nhiên, nếu bạn muốn thay thế, bạn luôn có thể gọi các hàm WIN API riêng. Nó phức tạp hơn nhiều so với sử dụng winforms mặc dù, vì vậy bạn có thể sẽ hối tiếc. Bạn sẽ phải viết rất nhiều mã để điền và lấy dữ liệu từ các điều khiển của bạn.

Lý do .NET được phát triển là giúp lập trình dễ dàng hơn (và khóa hàng triệu lập trình viên vào nền tảng Microsoft). Tôi cảm thấy rất vui với nó. Nếu bạn đã đầu tư thời gian để tìm hiểu nền tảng .NET, tôi nghĩ bạn sẽ tốt hơn khi gắn bó với nó. Mỗi hệ thống phát triển có những đặc thù riêng của nó, và bạn có thể gặp nhiều rắc rối hơn là với .NET, và có thể khó tìm được ai đó để giúp bạn khi bạn gặp vấn đề.

+0

Kiểm tra liên kết từ câu hỏi của tôi, có thông tin về cách tái tạo nhấp nháy trong bài đăng đầu tiên (câu hỏi quá thực tế). – SuitUp

+0

OK, tôi đã thực hiện dự án như bạn đã đề xuất và kiểm soát thực sự nhấp nháy khi tôi đổi kích thước. Đây là hành vi bình thường của Windows. –

0

Nếu bạn chưa sẵn sàng cân nhắc sử dụng WPF, bạn có thể sử dụng Qt gốc với số C# bindings nhưng tôi nghĩ WPF là đặt cược tốt nhất của bạn. Hãy xem xét phong cách mã hóa của bạn - nếu bạn đã quen với việc sử dụng các ràng buộc và lệnh, hoặc trình xử lý sự kiện, WPF là khái niệm gần nhất.

Tôi không nghĩ rằng bạn nên cân nhắc sử dụng C# để gọi thư viện gốc nhưng nếu bạn đi theo cách đó, vui lòng cho chúng tôi biết cách hoạt động!

2

Bạn đã xem this SO question chưa? Nó có thể giúp bạn với các vấn đề nhấp nháy.

0

WPF hoặc Silverlight (dành cho web + dự án trên máy tính)

Các vấn đề liên quan